赞
踩
最近在做地图相关业务的时候,发现进入导航的一瞬间系统特别卡,当时就是用的profiler工具分析出来是因为高德的SDK在进入导航的时候短时间内创建了大量的对象引起内存抖动。这次主要简单介绍Profiler关于分析内存的简单使用,可以分析内存泄漏或者观察应用以及引用的SDK创建了多少对象。
下面是上图每个数字对应的简单的介绍
主要是写一个最简单的mainActivity跳转到SecondActivity的程序,SecondActivity有内存泄漏且创建两个简单的对象
主要代码如下:
public class SecondActivity extends AppCompatActivity { //内存泄漏的对象(内存泄漏分析使用) private static Activity object1 = null; // 观察的创建的对象(记录创建多少对象使用) private ObserveObject observeObject1; private ObserveObject observeObject2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //内存泄漏的代码 object1 = this; //创建观察的对象 observeObject1 = new ObserveObject(); observeObject1.test(); observeObject2 = new ObserveObject(); observeObject2.test(); } }
public class ObserveObject {
public void test(){
}
}
@Override
protected void onDestroy() {
super.onDestroy();
object1 = null;
}
分析内存泄漏的时候要先操作APP最后点击【Record】。记录对象数量和存活时间先点击【Record】,再操作APP,最后结束后再分析。
以上就是Profiler的简单使用,后续会补充其他用法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。