Android性能优化方案

1.启动优化: application中不要做大量耗时操作,如果必须的话,建议异步做耗时操作
2.布局优化:使用合理的控件选择,少嵌套。(合理使用include,merge,viewStub等使用)
3.apk优化(资源文件优化,代码优化,lint检查,.9.png,合理使用shape替代图片,webp等)
4.性能优化,网络优化,电量优化:
避免轮询,尽量使用推送。
应用处于后台时,禁用某些数据传输
限制访问频率,失败后不要无限重连
选用合适的定位服务(GPS定位,网络定位,被动定位)
使用缓存
startActivityForResult替代发送广播
5.内存优化:
循环尽量不使用局部变量
避免在onDraw中创建对象,onDraw会被频繁调用,容易造成内存抖动。循环中创建大的对象,也是如此。
不用的对象及时释放
数据库的cursor及时关闭
adapter使用缓存
注册广播后,在生命周期结束时反注册
及时关闭流操作
图片尽量使用软引用,较大的图片可以通过bitmapFactory缩放后再使用,并及时recycler。另外加载巨图时不要 使用setImageBitmap或setImageResourse或BitmapFactory.decodeResource,这些方法拿到的都是bitmap的对象,占用内存较大。可以用BitmapFactory.decodeStream方法配合BitmapFactory.Options进行缩放
避免static成员变量引用资源耗费过多实例
避免静态内部类的引用

具体可以参考:Android:最全面&详细的性能优化攻略(含内存优化、内存泄漏、绘制优化、布局优化、图片优化、APK优化、多线程优化、列表优化等)

补充电量优化Android 电量优化概览 

Android电量/功耗优化指南

几个常用的性能测试工具:Prefetto, Emmagee,Systarce。如果需要更加深入直观具体的分析可以使用这几个工具。教程很多,直接搜就好。

工具推荐教程Perfetto详细解析

Android 性能测试工具- Emmagee 

如果不想下载这些测试工具,也可以用AS自带的检测工具:

AndroidStudio自带的内存泄漏检测工具Profiler:

1.用Android Studio打开当前应用项目,连接手机,打开当前项目App;

点击编辑器上面的这个图标启动应用,就可以看到底部的Profiler视图显示的CPU,内存,网络的使用情况:(如果底部没有Proflier视图,可以在View->Tool Windows->Profiler调出)

 2、 开启完成,已连接。此时正常使用你的App功能,把可能出现内层泄漏的模块测试一下;

3.测试完成,直接点击MEMORY,选择capture_heap dump,然后点击record。记录下你的测试的内层泄漏日志

4.第3步生成内层泄漏日志之后,后面会显示内层泄漏个数和方法列表。如果Leaks的数目不是0,就会出现内层泄漏个数并显示黄色叹号。这个时候找到下方显示黄色叹号的方法类。右键找到对应references方法。再根据references对应的类名,找到在项目中调用它的地方。然后就找到内层泄漏的地方啦。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值