1. 程式人生 > >LeakCanary:簡單粗暴的內存泄漏檢測工具

LeakCanary:簡單粗暴的內存泄漏檢測工具

ride 1.3 androi blog port == ref 內存泄露 mar

差點兒每一個程序猿在開發的過程中都會遇到內存泄漏。那麽我們怎樣檢測到app是否哪裏出現內存泄漏呢?square公司推出了一款簡單粗暴的檢測內存泄漏的工具-- LeakCanary

什麽是內存泄漏?

內存泄漏是指因為疏忽或者錯誤造成程序未能釋放已經不再使用的內存,內存泄漏不是指內存在物理上的消失,而是應用程序分配某段內存後,因為設計錯誤失去了對於這段內存的控制。因而造成內存的浪費。

內存泄漏和內存溢出是兩碼事,不要混淆,內存溢出通俗的講就是內存不夠用,如今的僅僅能手機內存越來越大,內存溢出的情況不是非常多,可是內存泄露情況比較嚴重,LeakCanary的到來對我們來說是一個簡單粗暴,直觀的好工具

技術分享

上面這個圖片就是這個工具的圖標了,當你的程序處於debug模式的時候,就能看到他了,當然release沒有


LeakCanary作為一個簡單粗暴的工具,使用方法也相當簡單

在build.gradle中引入LeakCanary

debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.3‘
    releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.3‘


一個是debug包,一個是release包的,從引入包的結構也能看出端倪

因為LeakCanary是測試整個app的內存泄露情況,所以你須要在你的application中啟動它

package com.zimo.guo;

import android.app.Application;

import com.squareup.leakcanary.LeakCanary;

/**
 * Created by zimo on 15/8/7.
 */
public class MyApplication extends Application {

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

ok,如今就能夠測試程序中的內存泄露情況,直觀明了

技術分享

這麽有逼格的工具,趕緊來試試吧,要想使你的app的內存泄露灰飛煙滅,try it

LeakCanary:簡單粗暴的內存泄漏檢測工具