一、时间优化
1⃣️时间优化工具:TraceView
2⃣️几个重要指标:
Incl Cpu Time
Excl Cpu Time
Incl Real Time
Excl Real Time
Calls+Recur Calls/Total
二、内存优化
1⃣️内存优化工具:Mat
2⃣️两个重要指标:
Histogram
Dominator Tree
3⃣️内存优化的几种情况:
1、非静态内部类的静态实例容易造成内存泄漏,不要对activity的context长期引用(一个activity的引用的生存周期应该和activity的生命周期相同)
·如果可以的话,尽量使用关于application的context来替代和activity相关的context
·如果一个acitivity的非静态内部类的生命周期不受控制,那么避免使用它;正确的方法是使用一个静态的内部类,并且对它的外部类有一WeakReference
2、使用handler时的内存问题
3、注册某个对象后注销注册
4、资源对象没关闭造成的内存泄漏。e.g.cursor,File
5、在Adapter中没有使用convertView
6、Bitmap没有使用适当的size