android中leakcanary的使用

LeakCanary检测内存泄漏:

LeakCanary是Square公司出的开源框架(Square出品,必属精品),是一个Android和Java的内存泄露傻瓜化并且可视化的内存泄露分析工具,当检测到某个activity有内存泄露,LeakCanary会弹出通知,定位到内存泄露的位置。使用它大大减少OOM的问题,提高App的质量。

1. List item

在 build.gradle 中加入引用:

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.6.1'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'

2.创建Application配置并使用Application:

import android.app.Application;
import android.content.Context;
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;

public class MyApplication extends Application{
    private RefWatcher refWatcher;

    @Override
    public void onCreate() {
        super.onCreate();

        refWatcher = LeakCanary.install(this);
    }

    public static RefWatcher getRefWatcher(Context context){
        MyApplication application = (MyApplication)context.getApplicationContext();
        return application.refWatcher;
    }
}

3.使用 RefWatcher 监控 Activity:

public class TestActivity extends AppCompatActivity {
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);

    RefWatcher refWatcher = MyApplication.getRefWatcher(this);
    refWatcher.watch(this);
}

}
4.直接运行的时候会产生对应的泄漏app,当发生内存泄漏的时候会在通知栏进行显示并分析泄漏原因,然后打开leaks
app就可以看到泄漏的详细信息;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值