向360手机卫士学习如何优化android程序性能

GMTC2016大会上的刘刚做了报告《360手机卫士性能优化之路》,从中学习到了很多干货,总结一下要点,有兴趣可以直接点击看看专访刘刚:360手机卫士的性能监控与优化

ppt下载地址:https://pan.baidu.com/s/1gfkZ4Kr


android apk的性能指标主要是包含内存、冷热启动时间、四大组件的加载时间、流量、电量等。

1、静态代码分析。采用LINT,FINDBUGS,StrictMode等方法,并在JENKINS中集成,自动化分析。
2、实时性能监控。通过AOP的手段,采用AspectJ 重写器。在相关的代码出静态埋点,请求数据进行记录,提供可评估的数据指标。主要是进程冷热启动、四大组件启动、各个线程卡慢监测和异步处理性能监测。

3、使用Stalker
• 监控应用的多个进程
• 进程的cpu、内存、电量、流量信息
• 系统全局的cpu、内存、电量信息
• 界面的帧率信息

4、使用LeakCanary检查Activity 是否泄漏的问题,通过onDestroy 方法检查,存在泄漏,则会dump 内存镜像,获取栈信息

5、内存分析。主要是hprof报告

6、磁盘分析。手机上NAND Flash的原理:读写操作Page单位,擦除操作Block单位。

具体规则:
删除些数据时,芯片将标记这些Page为闲置状态,但并不会立马执行擦除操作;
定写入数据时,如果目前磁盘剩余空间充足,则由芯片指定Block后直接按Page为单位进行写入即可;
块写入数据时,如果目前磁盘剩余空间不足,为了获得足够的空间,磁盘先将某块Block的内该 容读至缓存,然后再在该Block上进行擦除操作,最后将新内容与原先内容一起写入至该Block;

7、发生问题,收集手机环境信息:

  • 基本信息
  • 双卡信息
  • ROOT 信息
  • 网络信息
  • 自动分析耗电
  • 分析屏幕密度
  • 生成内存镜像文件
  • Method Tracing
  • CPU/内存监控


最后谈谈我的感受,第一次听说FINDBUGS,StrictMode,JENKINS,第一次知道AspectJ可以分析apk的性能,第一次知道要分析磁盘性能。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值