Android应用内存泄露分析、改善经验总结
前言
通过这几天对好几个应用的内存泄露检测和改善,效果明显:
- 完全退出应用时,手动触发GC,从原来占有内存100多M降到低于20M;
- 手动触发GC后,通过adb shell dumpsys meminfo packagename -d查看Activity和View的数量也趋近于0了(没有做到归零是因为SDK中存在内存泄露,需要中间层去处理);
- 发现了一个SDK中的内存泄露(Android InputMethodManager 导致的内存泄露及解决方案);
- 发现一个MTK Webview的内存泄露(org.chromium.android_webview.AwPasswordHandler.java中private static AwPasswordHandler sInstance = null导致的内存泄露)。
从结果来看分析和改善内存泄露