簡單強大的Android內存泄漏檢測工具 LeakCanary

mync 8年前發布 | 302K 次閱讀 Android開發 移動開發 LeakCanary

    幾乎每個程序員在開發的過程中都會遇到內存泄漏,那么我們如何檢測到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);  
    }  
}  </pre><br />

ok,現在就可以測試程序中的內存泄露情況,直觀明了

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

 本文由用戶 mync 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!