android 开源框架梳理

来源:互联网 发布:博威造价软件 编辑:程序博客网 时间:2024/05/21 03:28

记得在10年的时候,写个app是非常痛苦的一件事,那时技术不成熟,也没太多的开源的技术,全得自己去设计,记得那时候写个列表分页加载和缓存,反反复复接近2个月时间才弄出来,然而还是会有一些BUG。后来花了比较多时间在学习和分析这些开源的控件.

目前常用的开源框架 :



缓存

DiskLruCache    Java实现基于LRU的磁盘缓存 .  一些新闻客户端经常这么弄,但是不知道QQ音乐 这种多媒体缓存是不是也用这种技术来实现.   缺点:接口较复杂难用,需要自己再做封装

参考:https://github.com/hongyangAndroid/base-diskcache


图片加载:

Android Universal Image Loader  这个库作者已经不再维护了
性能:Fresco > Glide > Picasso .  

参考:

http://blog.csdn.net/a873228446/article/details/51800775

http://blog.etongwl.com/archives/993.html


网络:

Rxjava+ReTrofit+okHttp+Gson 搭配使用 简直就是神器. Github上面很多这样的DEMO


数据库:推荐使用GreenDao.
Contentprovider,SqlLite 在储存数据的时候并不能以JAVA对象去存,在android 存储/读取时,每次要对象与数据之间的转换,非常繁琐。GreenDao 直接以java对象存储,省了转换的代码.
参考:http://blog.csdn.net/u014761700/article/details/51736718

依赖注入:
ButterKnife: AS 上插件使用,少写一堆机械代码.
Dagger2: 这个相比ButterKnife,更多是在于组件模块之间注入,有点难理解 需花点时间去理解真正的意义,在一般小项目没必要要,多人协作大项目用比较适合。

事件总线:
EventBus: 不用再写activityResult, callback 之类的回调方法,事件可以在组件间灵活的穿插.

测试框架:
这些东西其实并没什么太大卵用,实际开发中,很少用到这些,网上看了一些资料,讲的很浅,还不如打LOG,MVP 里面做单元测试,又或者直接丢给云测平台去测试.

性能优化:

LeakCanary :  避免OOM,用好这个,能力可以提升一个档次

参考:http://blog.csdn.net/watermusicyes/article/details/46333925




0 0
原创粉丝点击