安卓中的开发框架

来源:互联网 发布:vs2013怎么用c语言 编辑:程序博客网 时间:2024/04/26 01:50

转自知乎。
一:
实际开发中,常用的库有按类型有:
1 生命周期管理
目前每个项目的基础架构有区别,大部分是开发者自用库,比如本人的开发代号 afw­lc (little­cake)及 afw­lc­lite
(eggroll)库,一个重型事务型生命周期框架,和轻量级的生命周期代理框架,都是将 Application 、Activity 和
Fragment 装饰后的产物,没有通用性,只是为了提供快速业务实现或者重构的产物。
2 数据共享
Android 提供 Bundle 这种序列化,存储键值对,并给予另一个界面或者业务使用。
当然线程安全的单例对象的成员也是经常被用到的数据存储和共享方法。
这两种方法的好处是灵活快速。
他们有个共同的问题,业务实现没有解耦,复用困难,定位问题困难。
这里推荐 EventBus 框架,在 Android 的 data binding 框架没有成型前,会使用很长一段时间的
3 网络请求
网络库有底层库,和高级库
底层库推荐okhttp第一个是 Android 本身的 HttpURLConnection的坑深,难用不说还一堆破事,写工具类非常麻
烦,另一个原因是 API 设计,RESTful 的设计下,okhttp 将无比好用,当然xUtil 里面有个 Http,使用
HttpConnection 的可以满足非 RESTful 设计的 API
高级库,推荐retrofit或者Volley,首先retrofit和okhttp是亲兄弟,封装得很完善,适合各种玩法,Volley 是一个轻量
库,非常适合做小量,但大规模的数据请求。
本人使用的时候,是自己封装的 afw­volley­plus (封装效果跟 retrofit 类似)配合 retrofit 和 okhttp 一起使用,用于
不同场景。
4 Json 序列化框架
Json 非常流行,推荐 Json 框架有 Gson 还有 fastjson
Gson解析没有依赖,纯粹对象封装思想,唯一的坑是时间格式定制,效率很不错。
Fastjson 阿里出品的极端效率的 Json 解析库,复杂封装会出现问题,需要定制引用类型,
5 对象关系映射库
Android 的ORM 库,推荐上Active Android,当然纯事物的操作不习惯,使用 FinalDB 的变种框架也行,一切看自
己的需求
6 大内存异步加载
图片加载 Picasso 或者 Universal­Image­Loader 用一个就行,注意调优
大文件加载,这个是自己写的工具库,开发代号 afw­base­io(duckneck)
7 控件库
这个嘛,解耦时间最长,而且需要大量时间收集,推荐 pulltorefresh,Metal­design 的库,一定要自己整理,写作控件库.

二:

网络请求框架:Volley、OKHttp、Async-http (比较老一点的还有xUtils)图片处理:Picasso、Universal-ImageLoader+(Volley也能做一部分的图片下载显示缓存)看一下开发文档或者博客就可以使用了。Trinea 整理的各种优秀开发框架:Trinea/android-open-project · GitHub,网址:https://github.com/Trinea/android-open-project

三(对使用xposed框架会占用内存吗的回答):
大部分用户不需要知道app_process binary、虚拟机之类的概念,通俗点打个比方说吧Android是一家快餐店,你每次启动一个应用,都是叫了一个热狗,Xposed模块就是替代了Android系统自带的售货员,每次在做热狗的时候,加上你喜欢的调味料,直接做出你喜欢的味道。和觉得热狗太辣再要一杯可乐不同,他不会多消耗你的金钱。这里就和天Chao特殊各种管家大师优化什么的不同,没有“死循环”,讨厌软件后台启动?讨厌后台推送广告?直接冻结,用的时候再解冻。这比管家什么一键加速之后软件自己后台再启动你再加速软件再启动要彻底、省电、有效的多。也就不会把你的电量消耗在这里。绿色守护你值得拥有。也不会造成热狗和汉堡放在一起口味不合影响味道。鱼和熊掌不可兼得的道理在Android上也一样,你喜欢原生桌面,你也喜欢美化主题包。你喜欢自带的系统风格,同时也喜欢自定义状态栏。如果用软件解决,除了后台占用这点,还有很多之间的软件冲突。用xposed可以有效的解决,在系统的UI界面生成的时候就变成你想要的样子,你想弄成什么样子都可以。大家可以试试HKThemeManager 或者重力工具箱。其实大众都被国内的软件介绍给洗脑了。就要杀进程,就要清内存。如果你只在play上下载应用,完全不必要担心病毒什么的。可惜了国情,自己做出推送广告,后台吸费,伪装软件,再自己出管家制止,查杀什么的。把用户的电量都消耗在内斗里了。悲哀。话说大部分用户不知道虚拟机什么的,更不会知道GCM了吧。。。有些东西就和脸书油管一样,好用不给你用而已。你用过油管看视频,你再用任何一款国内的视频客户端。。。。。那玩意是人用的?跑题了。总结一下XPOSED本身不会占用内存,他的模块也不会占用内存,当然一下附属功能,比如绿色守护支持的高级功能,本身绿色守护是占用一定内存的。说起占用内存,有人观察过你的微信占用多少内存么?

0 0