2015-05-24 | learn

LeakCanary 体验

前些日子良心厂商 Square 又发布了一个叼叼的项目, LeakCanary。

方便检查内存泄露的工具。网上的大大们都在推荐,所以就在自己的项目里试了一下。

使用超级简单:

首先在build.gradle里添加依赖。

1
2
3
4
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
}

然后在自己的应用里添加这样一行代码

1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyApplication extends Application {
private RefWatcher refWatcher = null;

@Override
public void onCreate() {
super.onCreate();
refWatcher = LeakCanary.install(this);
}

public RefWatcher getRefWatcher() {
...
}
}

再然后,在需要检测的位置获取到 RefWatcher 对象,将需要检测的对象传入。

1
2
3
4
5
6
7
8
public abstract class BaseFragment extends Fragment {

@Override public void onDestroy() {
super.onDestroy();
RefWatcher refWatcher = MyApplication.getRefWatcher(getActivity());
refWatcher.watch(this);
}
}

跑起来测试测试就可以看到自己的 App 有木有问题啦。

恩,我已经发现自己的代码写的有多烂了。(泪奔 (>_<。)

follow


参考: