12/08/2018, 15:08

Android leak memory phần 2

Như phần 1 https://viblo.asia/hoang.van.nha/posts/vyDZOygd5wj đã trình bày một số lỗi gây lên android memory leak vậy một câu hỏi đặt ra là làm sao để phát hiện được lỗi android memory leak trong quá trình code và test chương trình. Phần này mình sẽ giới thiệu cho mọi người 1 thư viện hỗ trợ rất ...

Như phần 1 https://viblo.asia/hoang.van.nha/posts/vyDZOygd5wj đã trình bày một số lỗi gây lên android memory leak vậy một câu hỏi đặt ra là làm sao để phát hiện được lỗi android memory leak trong quá trình code và test chương trình. Phần này mình sẽ giới thiệu cho mọi người 1 thư viện hỗ trợ rất tốt trong việc phát hiện lỗi Memory leak

Thư viện LeakCanary là thư viện được tổ chức Square pháp triển. Là 1 trong những thư viện rất hay hỗ trợ chúng ta rất lớn trong quá trình pháp triển ứng dụng, nó vừa giúp chương trình phát hiện khi nào bị Memory leak và bị ở Activity nào.

  • Bước 1: trong file build.gradle trong model thêm những dòng sau:
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
  • Bước 2: Tạo file Application và cài đặt
public class MyApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    if (LeakCanary.isInAnalyzerProcess(this)) {
      // This process is dedicated to LeakCanary for heap analysis.
      // You should not init your app in this process.
      return;
    }
    LeakCanary.install(this);
    // Normal app init code...
  }
}

Sau khi chạy và test chương trình nếu có lỗi Memory leak thì sẽ thông báo như sau:

Leak Memory

0