메모리 누수를 보다 효율적으로 식별하기 위해 바이트코드 계측 기술과 결합된 메모리 최적화 도구 leakcanary를 기반으로 합니다.

LC는 메모리 누수를 방지하는 매우 유용한 도구이지만 LC에는 Activity, Fragment, ViewModel, RootView 및 Service 개체만 지원하는 모니터링이 제공됩니다. 더 많은 개체를 모니터링하려면 해당 인터페이스를 호출하여 수동으로 모니터링을 추가해야 합니다. 여전히 사용하기 불편해서 더 많은 개체를 자동으로 모니터링하기 위해 바이트코드 계측을 사용하려고 합니다.

바이트코드로 다음이 지원됩니다.

java.io.Closeable#닫기

  • 파일 스트림
  • 소켓
  • 커서
  • 기타 Closeable에서 상속

android.graphics.Bitmap#recycle

삽입 도구: https://github.com/miqt/android-plugin/tree/master/plugin/inject-code-plugin

부록:
https://github.com/square/leakcanary/blob/main/leakcanary-object-watcher-android-core/src/main/java/leakcanary/AppWatcher.kt

추천

출처blog.csdn.net/qq_27512671/article/details/122958840