一、内存泄漏
1、集合类泄漏
2、单例造成的内存泄漏
3、匿名内部类/非静态内部类
4、异步线程
5、Handler 造成的内存泄漏
6、资源对象没关闭造成的内存泄露
7、注册某个对象后未反注册
尽量避免使用 static 成员变量
避免 override finalize()
资源未关闭造成的内存泄漏
二、避免创建不必要的对象
1、避免Activity的重复创建
(1) 用好LaunchMode
(2) 实现onConfigurationChanged,处理屏幕旋转
2、避免隐式装箱
3、恰当使用单例
4、谨慎选用容器
5、注意字符串拼接
6、使用注解替代枚举
7、选用对象池或者享元模式