Android性能优化总结

1、布局优化

(1)使用优先顺序:LinearLayout,FrameLayout > RelativeLayout > 嵌套;

(2)使用onDraw()方法可能会频繁使用,避免在这个方法中创建新的局部对象和执行耗时操作,

由于可能频繁调用onDraw(),就会频繁出发GC,降低效率。

2、内存泄漏

(1)在该释放对象的时候释放(动态注册广播、数据库操作)

(2)静态变量,生命周期从类加载到销毁

(3)单例模式,生命周期和Application一样

(4)属性动画,动画无限循环执行,在onDestroy()是没有停止,Activity和View相互持有,Activity无法释放。

3、ANR

(1)主线程避免耗时操作,如有耗时操作,开子线程进行

4、ListView

(1)contentView复用View

(2)使用ViewHolder

(3)避免在getView()中有太多耗时操作或者创建局部对象,滑动较快时避免大量异步操作

5、线程优化

(1)开大量线程时使用线程池,线程池可以重复使用内部的线程,避免线程创建销毁带来的性能开销

6、图片相关

(1)使用弱引用、软引用缓存。弱引用拥有更短暂的生命周期,一旦发现有弱引用的,就回收,不管内存足够与否。软引用只有当内存空间不足的时候才会回收。

(2)图片压缩

7、其它

(1)尽量创建局部变量,避免全局变量。

(2)for循环也要避免创建对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [原文链接](http://android.jobbole.com/81944/) 我在几周前的 Droidcon...
    发财哥阅读 7,472评论 0 22
  • 常用的Android性能优化方法: 一、布局优化: 1)尽量减少布局文件的层级。 层级少了,绘制的工作量也就少了,...
    Stan_Z阅读 1,150评论 0 10
  • 最近大半个月都在做app的优化,最主要是从apk包大小、界面过度绘制、掉帧、内存抖动、主线程IO这几个方面来入手的...
    shenhuniurou阅读 925评论 0 3
  • 1.简介 2.内存的管理和分析2.1 当界面不可见时释放内存2.2 当内存紧张时释放内存2.3 避免在Bitmap...
    JC_Mobile阅读 923评论 0 6
  • 1,UI优化:这篇文章总结的不错 2,内存泄漏优化 常见的几种形式: 资源对象没关闭造成的内存泄漏: 资源对象没关...
    Richard_7df6阅读 278评论 0 0