Android leak内存,Android-初探LeakCanary内存泄露神器

由于第一次在简书写文章,如有写的不好的地方,望海涵。

以前总是需要什么就去找什么,自己一直没有总结的强烈意识,导致很多时候以前做过的东西,现在需要,又得花时间去查询。所以现在慢慢养成一种习惯同时为别人提供一种便利也是不错的方式。

这一篇讲解的是leakcanary,因为我们在开发编码过程中不可避免的会遇到一些内存泄露的情况,虽然有一些地方是我们故意为之,但还是有很多是在我们编写代码中产生的,但是只看代码是很难查起,所以在此介绍一款相对较好,也使用比较多的一款内存分析工具--leakcanary

对于这款工具的介绍各位就自己去网络上找一些资料看看吧,在此就不做过多介绍了,另外对于在AS上的使用,直接从github导入就能使用,具体操作可以去网上看看,在此就不做过多介绍,补充leakcanary在AS使用地址:LeakCanary介绍

在此介绍的是leakcanary在eclipse中的使用,引用工程可以在下面地址进行下载:LeakCanary依赖工程

1、添加依赖工程leakcanary-android

由于leackcanary-android工程依赖于leakcanary-analyzer,而leakcanary-analyzer工程又依赖于leakcanary-watch。所以三个工程包都需要添加

1948188b7d0b

2、在application 初始化leakcanary

import com.squareup.leakcanary.LeakCanary;

import android.app.Application;

public class MyApplication extends Application{

@Override

public void onCreate() {

// TODO Auto-generated method stub

LeakCanary.install(this);

super.onCreate();

}

}

3、在AndroidMainfest.xml 中配置

android:name="com.squareup.leakcanary.internal.DisplayLeakActivity"

android:enabled="false"

android:icon="@drawable/leak_canary_icon"

android:label="@string/leak_canary_display_activity_label"

android:taskAffinity="com.squareup.leakcanary">

android:name="com.squareup.leakcanary.internal.HeapAnalyzerService"

android:enabled="false"

android:process=":leakcanary" />

android:name="com.squareup.leakcanary.DisplayLeakService"

android:enabled="false" />

4、这个时候直接运行测试工程,不停的跳Activity,出现内存泄漏,这个时候要等待一会哦,,你就会发现有通知栏,然后点击就可以看到内存泄漏堆栈关系了

当然了,也可以在BaseActivity或者BaseFragment的onDestroy里面对这个类进行监控。

/**

* 初始化内存泄露监测 applicaton里面的代码

*/

private void initRefWatcher() {

this.refWatcher = LeakCanary.install(this);

}

//BaseActivity或者BaseFragment的代码

@Override

protected void onDestroy() {

super.onDestroy();

RefWatcher refWatcher = MentorNowApplication.getRefWatcher(this);

refWatcher.watch(this);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值