应用的性能问题和优化小结

哪些地方会导致性能问题

应用性能问题大致分三个方面:阻塞渲染导致卡顿,内存管理没做好导致泄露或者溢出,应用耗电量大。

 

关于卡顿:

Android系统每隔16ms发出VSYNC(Vertical Synchronization 垂直同步)信号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成。否则就会丢帧,丢帧现象就表现卡顿了。系统会打出LOG,告诉丢了很多帧,并提示在主线程里肯定干了太多事情。
关于内存泄露:
1、资源对象没有关闭造成泄露,最常见的场景是Cursor的使用没有关闭,输入输出流没有关闭等。
2、构造Adapter时,没有使用缓存的convertView,造成滑动时内存暂用越来越大,并且没有回收资源
3、Bitmap对象不在使用时调用recycle()释放内存
4、Application Context的滥用导致泄露
5、注册没有取消导致内存泄露
6、对象的引用加入到了集合中并没有做好解耦

 

应用新能分析:

1、以前通过一些工具,比如MAT,TraceView

2、Eclipse 里面DDMS工具

3、Android Studio 内置了MM  ->  MemoryMonitor

4、设备本身可以打开设置里面一些调试工具,比如显示CPU,显示绘制情况等很多工具,也可以查看应用性能。


通过第三方SDK,提供综合性的解决方案

1、One APM SDK --> One Application Monitor 

2、听云性能监测管理解决方案平台

 

当然,最好的方式是要有好的代码习惯,在编码的过程中,避免发生问题,多想一想,多优化一点,高质量的代码是对自己负责,体现的是自己的价值。

posted @ 2015-09-11 15:54  Liu Siyuan  阅读(193)  评论(0编辑  收藏  举报