leakCanary 在eclipse使用
2016-05-27 20:40
597 查看
在平时编码过程中不可避免的会遇见内存泄漏的情况,但是只看代码很难查起,此处介绍一款比较好用的分析内存泄露的工具--leakcanary
关于此工具的介绍,此处就不做过多介绍了,大家可以去官网查看,如果使用AS,直接从github导入即可以使用
此处介绍eclipse中的使用,我已移植到eclipse工程,代码可以去此处下载,csdn上传资源不能立即显示,真是遗憾,等有了再补充吧http://download.csdn.net/detail/ytuglt/9533490
1、在使用中主要依赖三个工程leakcanary-watch,leakcanary-analyzer,leakcanary-android,
依赖关系如下,leakcanary-analyzer依赖leakcanary-watch,leakcanary-android依赖leakcanary-analyzer
测试工程sample 依赖leakcanary-watch,leakcanary-analyzer,leakcanary-android,
2、在application 初始化leakcanary
4、这个时候直接运行测试工程,不停的跳Activity,出现内存泄漏,这个时候要等待一会哦,,你就会发现有通知栏,然后点击就可以看到内存泄漏堆栈关系了
关于此工具的介绍,此处就不做过多介绍了,大家可以去官网查看,如果使用AS,直接从github导入即可以使用
此处介绍eclipse中的使用,我已移植到eclipse工程,代码可以去此处下载,csdn上传资源不能立即显示,真是遗憾,等有了再补充吧http://download.csdn.net/detail/ytuglt/9533490
1、在使用中主要依赖三个工程leakcanary-watch,leakcanary-analyzer,leakcanary-android,
依赖关系如下,leakcanary-analyzer依赖leakcanary-watch,leakcanary-android依赖leakcanary-analyzer
测试工程sample 依赖leakcanary-watch,leakcanary-analyzer,leakcanary-android,
2、在application 初始化leakcanary
package com.example.asfdsf; 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 中配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.asfdsf" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:name="com.example.asfdsf.MyApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.asfdsf.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.asfdsf.OtherActivity"></activity> <!-- 相关的服务与Activity --> <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"> </activity> <service android:name="com.squareup.leakcanary.internal.HeapAnalyzerService" android:enabled="false" android:process=":leakcanary" /> <service android:name="com.squareup.leakcanary.DisplayLeakService" android:enabled="false" /> </application> <!-- 写权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> </manifest>
4、这个时候直接运行测试工程,不停的跳Activity,出现内存泄漏,这个时候要等待一会哦,,你就会发现有通知栏,然后点击就可以看到内存泄漏堆栈关系了
相关文章推荐
- 两个分数相加(结果最简)
- Spring BeanFactory
- 成为Java高手的25个学习要点
- 深入理解java异常处理机制(转)
- java.lang.UnsupportedClassVersionError: xxx/xxxClass : Unsupported major.minor version 51.0【转】
- MySql MESSAGE: java.net.ConnectException: Connection refuse
- Java动态绑定
- Java中的缓冲区(直接缓冲区、非直接缓冲区等)
- java30天速成方法
- Java学习笔记之工厂模式
- java 中null的判断
- Java学习笔记之适配器模式
- Java设计模式总结
- 在myeclipse拷贝项目时候经常遇到的问题
- JAVA学习(11) 反射
- 【java】线程安全的整型类AtomicInteger
- Java设计模式(六):适配器模式Adapter
- Java transient关键字使用
- Adnroid ndk开发中原生代码使用java线程
- JAVA 输入年份月份打印该月的日历