安卓应用优方案

来源:互联网 发布:83式自行榴弹炮的数据 编辑:程序博客网 时间:2024/05/07 18:04

转载请注明出处:http://blog.csdn.net/oyuanwa/article/details/44034863

1、项目结构优化

1.1、静态功能抽取到静态工具类(Utils)(序列化功能,加解密功能,获取 系统配置信息功能,图形图像处理功能,http请求功能,获取存储路径,静态配置APPConfig等等); 

     Ps:APK加壳、混淆能有效防止string型Config内容泄漏

1.2、核心模块的编写(线程、Task与线程池模块,网络请求与响应数据的处理模块、缓存模块(非敏感http请求缓存或图片缓存,三级缓存)、IO与DB模块、内存管理模块(目前只对Bitmap处理)

1.3、业务逻辑的编写(注意业务逻辑与activtiy分离,如登陆逻辑可以编写LoginManager处理登录逻辑和用户信息,同理权限管理AuthorityManager、密码管理 PasswordManager等逻辑与activity分离便于降低耦合度,便于activity等组件和控件、跳转逻辑的修改。

1.4、多使用JavaBean少使用map,GOOGLE推荐安卓开发使用Map,Map在个人开发中比较方便,但团队开发使用javaBean更符合面向对象,清晰度更高,可读性更强,而且json转JavaBean也很方便

2、性能优化与提高资源利用率、防止内存溢出

2.1、App内存优化

2.1.1、对象内存优化

0:减少零时变量的产生

1:不要随意实现接口,如OnClickListener   一个组件中实现一个通过if做判断

2:解耦代码时,防止上下文Context的泄露

2.1.2、线程与服务的管理

 利用线程池控制线程数量、复用线程、回收线程、处理掉有问题的线程,注意后台服务的管理,合理控制其启动与停用

 2.1.3、图片Bitmap处理

0 :利用软引用SoftReference与弱引用WeakReference,软引用可有效防止Bitmap导致的内存溢出,弱引用可减少内存占用),常图片进行软引用,不常用图片进行弱引用。

1:ImageView对Bitmap操作的动画效果,需要做大量的重绘,为防止绘制到屏幕上时,

界面闪烁,可使用双缓冲技术

2.1.4、UI与View优化

0 :UI布局中要降低控件树的深度,复杂布局使用RelativeLayout           (可朔性强), 简单布局父控件使用FrameLayout(内部逻辑简单)。

1: 具有完整单独功能的控件组,可打包(留布局接口)。便于模块 控件的复用。如支付功能的支付方式的选择View等;可交互的 ViewGroup(MenuLayout,SlideingLayout,PullRefreshView,CanSlideBottomBar等等); 注意事件的分发和拦截(这部分看附件)。

3、用户逻辑的优化

3.1、非重要信息使用Toast

不用Dialog,减少用户的非必要操作,或用户动画代替消息提示

3.2、合理使用LaunchMode

减少跳转逻辑形成环的可能,避免打开多个相同的activity。



0 0
原创粉丝点击