Android内存泄露实时监测——LeakCanary(Android Studio+Eclipse)
来源:互联网 发布:网络大电影演员收入 编辑:程序博客网 时间:2024/05/29 13:01
前言
LeakCanary已经开源一年多了,版本从1.3已经升级到1.4-beta2,不过还是有朋友没有试过使用。源码地址:https://github.com/square/leakcanary
推荐看:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0510/2860.html
当初也是看这篇才了解LeakCanary。这里再具体将使用步骤简单重现(Android Studio)。
步骤
1、新开一个Android Studio工程;
2、在app的build.gradle中加上下面代码片段的最后两行。
释义:
(1)添加完成后,再Build-Clean Project,即可同步远程依赖到本地,在External Libraries中可以看到同步到本地的leakcanary的jar包;
(2)debugCompile是配置在debug模式下可用。releaseCompile配置主要是为了不修改代码,在release模式下LeakCanary不显示。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.1.1' debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'}3、因为LeakCanary需要传递一个Application的对象,因此你需要有一个自定义的Application,比如MyApplication。如下:
package com.example.testproject;import android.app.Application;import com.squareup.leakcanary.LeakCanary;/** * Created by 战国 on 2016/7/23. */public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); LeakCanary.install(this); }}在AndroidManifest中,别忘记将Application名改为MyApplication。
现在,已经配置完成了。你已经可以使用了。
做个测试:
package com.example.testproject;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn =(Button)findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { doSome(); } }); } public void doSome(){ new Thread(new Runnable() { @Override public void run() { SystemClock.sleep(20*1000); } }).start(); }}
运行代码,转屏,即可看到通知栏的LeakCanary通知。
源码
应该不需要了。
如果eclipse的用户,可以参考:
https://github.com/cheyiliu/leakcanary/tree/leakcannary_eclipse_project
3 1
- Android内存泄露实时监测——LeakCanary(Android Studio+Eclipse)
- Android内存泄露实时监测——LeakCanary/MAT等(Android Studio+Eclipse),测试
- Android内存泄露监测工具之leakcanary
- Android内存泄露监测之leakcanary
- leakcanary——Android 内存泄露检测工具
- 实时监测Android内存泄漏的工具-LeakCanary
- Github项目解析(三)-->Android内存泄露监测之leakcanary
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- LeakCanary——直白的展现Android中的内存泄露
- centos6.5_x86_64 下 nginx 1.10.1、php7 安装记录
- JAVA面向对象-----抽象类注意细节
- 极客学院JSP教程笔记(1)
- BestCoder Round #84 题解
- (二)Spring框架——框架结构
- Android内存泄露实时监测——LeakCanary(Android Studio+Eclipse)
- 2016 Personal Training #2 Div.2 SPOJ AMR11A
- Mac OS X 用终端破解附近 Wifi 密码教程
- maven项目使用spring报java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListe
- OpenCV学习DAY1——OpenCV-2.4.13在Visual Studio 2013中的配置
- 数据输入流与数据输出流
- [leetcode] 319.Bulb Switcher
- 图像的傅里叶变换
- (10)HTML标签详解之<link />