推荐3个有用的开源项目
又到了日常推荐的时候了,本来准备每周搞一个推荐,但是这个推荐具有太多的不确定性,有的是我恰好发现,有的是我想做这么个东西,搜索后发现已经存在的项目。
我个人特别倾向于资源聚合的项目,其实 wanandroid 也是这样风格的一个网站,目前能做的就是不会为了推荐而推荐,尽可能保证每次的推荐都对大多数人有一定的帮助。
这是掌阅ireader 对外开源的一个库,可以自动化的提升加载布局的效率。
原理我简单说一下大家肯定都懂,我们在编写布局文件的时候,绝大多数情况下都是写xml 文件,然后通过setContentView或者 inflate 加载,大多数同学可能也知道,对于 xml 文件在 LayoutInflater 中需要解析,并且在首次加载的部分控件还需要通过反射去生成对象。
所以如果说,我们放弃使用xml,通过动态编码的方式去生成布局的方式,那么一定会有一定的性能提升。
但是,这几乎是不可能的,因为不易维护,不支持实时预览,编写起来过于复杂,看起来痛不欲生。
所以出现了 X2C 这个项目:
为了即保留xml的优点,又解决它带来的性能问题,我们开发了X2C方案。
即在编译生成APK期间,将需要翻译的layout翻译生成对应的java文件,这样对于开发人员来说写布局还是写原来的xml,但对于程序来说,运行时加载的是对应的java文件。
我们采用APT(Annotation Processor Tool)+ JavaPoet技术来完成编译期间【注解】->【解注解】->【翻译xml】->【生成java】整个流程的操作。
https://github.com/iReaderAndroid/X2C
这个发现的就有点意思了,因为我最近在给 wanandroid 加一个栏目,叫“速查”,其实归档一下开发中,经常需要查询的东西:
因为只有我一个人去补充内容,比如我经常查询如何通过adb 查看 top activity,我就准备补充这样的一个文档,在搜索过程中发现了这个库。
https://github.com/mzlogin/awesome-adb
详细程度实属惊人,部分目录如下:
此外,其实总是查文档也不是什么好办法,更好的方式可以去开发一个adb 的提示插件,当敲出adb 就可以出现所有的关联命令。
确实有一个这样的开源插件:
https://github.com/pbreault/adb-idea
不过支持的命令很少,如果有哪位可以结合这两个开源库,做一个较为完备的提示插件,我双手赞成,记得完成联系我一下,有礼物相赠!
编写此文前看了一下github trending,榜上有名。
https://github.com/Snailclimb/Java-Guide
内容好像没有上次推荐的丰富,几个放一起吧:
https://github.com/crossoverJie/Java-Interview
https://github.com/JsonChao/Awesome-Android-Interview
大家没事也可以看看 github trending。
推荐阅读:
扫一扫 关注我的公众号
如果你想要跟大家分享你的文章,欢迎投稿~
┏(^0^)┛明天见!