您的位置:首页 > 移动开发 > Android开发

手把手教你写框架之ShykyAnnotations - 原理篇

2016-05-20 10:37 309 查看
不要重复造轮子的前提是你要知道怎么造轮子,不然用别人的轮子,哪天轮子坏了,你也修不了。

用过AndroidAnnotations的小伙伴都知道,不知道的百度或谷歌,很强大的玩意。IOC,及依赖注入,github有很多此类框架,如afinal,xutils等等大把,我就不一一列出来,敲得蛋疼。要实现注入无非两种方式,一是自己手写代码,二是使用反射,这里说的手写不是说让你自己敲那些findViewById和setxxxListener那些年复一年日复一日的代码,这些东西完全可以使用框架来帮我们完成。说白了就是Java语言的自定义Annotation(注解),在Java中注解分为两种,即编译时和运行时,在JavaEE中几乎都是使用后者,如spring,hibernate等框架,为毛不选择前者?要说的是后者相对原理实现起来简单点,而前者实现相对复杂点,后者无非就是使用Java的反射(java.lang.reflect.*中相关的API类),再者JavaEE开发完成部署的程序是运行在PC上,PC相对移动设备而且性能和内存相差不是一两截,作为一名移动开发工程师,开发出来的APP如果不考虑性能,是不行的,必须保证APP流畅度及占用内存尽可能的少(Android性能优化)。

说了这么多,ShykyAnnotations原理使用的是第一种编译时注解,在编译阶段获取到定义的自定义注解,然后去解析处理相关逻辑,最后生成代码并且让被注解的类去继承生成的类。这样你就只需要专注你的业务逻辑就行了,控件声明、初始化、设置事件什么的代码全部在生成的类里去做了,既不影响性能,又提高了效率,生成的代码其实也很简单,就是你平时反复写的那些代码,不像AndroidAnnotations作了自己的设计,你要看明白它的代码,一时半会看不明白。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息