# 代码优化
删除注释无用代码
# 布局优化
一般常用手机开发者选项,打开调试GPU过度绘制-显示过度绘制区域
减少布局层级,可以使用约束布局,尽量少用RelativeLayout. 使用include、merge、viewStub 等
每次界面绘制次数太多,就无法在标准的16ms中正常显示,从而导致界面卡顿
# 内存优化
## 内存泄漏优化
1.不要再Acticity中声明静态变量,这样会是的Activity无法完全销毁释放
2.非静态内部类创建的静态实例造成的内存泄漏
3.Handler造成的内存泄漏
4.单例中引用的上下文Context,引用了Activity中的Context, 这样会造成内存泄漏,要引用Application中的Context;
5.资源性对象未关闭。比如Cursor、File文件等,往往都用了一些缓冲,在不使用时,应该及时关闭它们。
6.注册对象未注销。比如事件注册后未注销,会导致观察者列表中维持着对象的引用。
7.类的静态变量持有大数据对象。
8.容器中的对象没清理造成的内存泄漏。
9.WebView。WebView 存在着内存泄漏的问题,在应用中只要使用一次 WebView,内存就不会被释放掉。
## 常用工具
1、使用AS Memory Monitor工具 :获得内存的动态视图
2、Heap Viewer工具 :显示堆内存中存储了什么
3、Allocation Tracker :具体是哪些代码使用了内存
4、Battery Historian耗电分析工具:未使用过