LeakCanary:OOM无所遁形
来源:互联网 发布:淘宝双11销量排名 编辑:程序博客网 时间:2024/05/03 06:28
LeakCanary,它是一个Android和Java的内存泄露检测库,可以大幅度减少了开发中遇到的OOM问题,对于开发者来说,无疑是个福音;
以下是我的参考资料,写得很不错:
1.LeakCanary:让内存泄露无所遁形
2.LeakCanary中文使用说明
AndroidStudio (官方)上使用LeakCanary 请移步:
https://github.com/square/leakcanary
Eclipse 上使用LeakCanary 请移步我的:
https://github.com/SOFTPOWER1991/LeakcanarySample-Eclipse
工程包括:
- LeakCanary库代码
- LeakCanaryDemo示例代码
使用步骤:
将LeakCanary import 入自己的工程
添加依赖:
compile project(':leakcanary')
在Application中进行配置
public class ExampleApplication extends Application { ...... //在自己的Application中添加如下代码public static RefWatcher getRefWatcher(Context context) { ExampleApplication application = (ExampleApplication) context .getApplicationContext(); return application.refWatcher;} //在自己的Application中添加如下代码private RefWatcher refWatcher;@Overridepublic void onCreate() { super.onCreate(); ...... //在自己的Application中添加如下代码 refWatcher = LeakCanary.install(this); ......}.....}
在Activity中进行配置(在onDestory中处理)
@Override public void onDestroy() { super.onDestroy(); ExampleApplication.getRefWatcher(this).watch(this); }
AndroidMainfest.xml 中进行配置,添加如下代码
<service android:name="com.squareup.leakcanary.internal.HeapAnalyzerService" android:enabled="false" android:process=":leakcanary" /> <service android:name="com.squareup.leakcanary.DisplayLeakService" android:enabled="false" /> <activity 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:theme="@style/__LeakCanary.Base" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
当我们的App中存在内存泄露时会在通知栏弹出通知:
当点击该通知时,会跳转到具体的页面,展示出Leak的引用路径,如下图所示:
好了处女作就此完结
1 0
- LeakCanary:OOM无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary:让内存泄漏无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- LeakCanary: 让内存泄露无所遁形
- 查看进程相关资源
- bzoj 1050: [HAOI2006]旅行comf 并查集
- FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
- Android应用程序永久获取root权限方法
- http://blog.csdn.net/nightelve/article/details/17453689
- LeakCanary:OOM无所遁形
- C++第六次上机实验
- 故障案例 mongodb无法连接排错指南
- SparkSQL相关语句总结
- iOS中Info.plist文件的常见配置
- 滑动窗口
- JS跨域问题
- 导致页面打开速度变慢--Session阻塞造成时的解决方案
- mybatis学习目录