android性能优化

google官方文档:

http://developer.android.com/training/best-performance.html

我只是做一下笔记和总结

性能优化方面:

  • android 16ms刷新一次界面,所以避免连续运算超过16ms否则会丢帧
  • 不要过度绘制(即不显示的或者被覆盖的layout不要绘制),可以采用canvas.clipRect()制定绘制区域
  • 慎用透明度,因为会加大绘制花销
  • 打开开发者选项的Profile GPU Rendering,可以看到GPU绘制信息
  • 避免频繁执行GC:可能原因是内存抖动(频繁创建/丢弃对象)、瞬间创建大量对象。可通过Memory Monitor查看
  • 避免在UI线程做内存分配操作,因为会造成内存抖动
  • 随着对象停留时间的增长,依次进入Young Generatio,Old Generation,最后到Permanent Generation
  • JAVA Collection的遍历,采用for index的方法效率高
  • 尝试用LruCache类处理滚动的图片栏等类似问题
  • Android Lint(Analyze > Inspect Code)可以检测优化代码
  • 尽量减少PNG图片的大小,android推荐使用Webp
  • 使用inBitmap提高bitmap重用效率


电量优化方面:
  • WakeLock是耗电大户,尽快释放
  • 把零散的网络请求打包进行一次操作
  • android 5.0引入了Battery Historian(Battery History Tool),可以查看详细应用消耗电量情况
  • 尝试使用JobScheduler(来自android 5.0),不紧急的任务交给它

你可能感兴趣的:(android)