android
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.jav
a中private static AwPasswordHandler sInstance = null导
致的内存泄露)。
从结果来看我分析和改善内存泄露的方法是对的,这个过程并不复杂,所以可以梳理总结出来作为分享。
原则
对于性能问题,分析和改善有必要遵循以下原则:
一切看数据说话,不能跟着感觉走,感觉哪有问题就去改,很有可能会适得其反;性能优化是一个持续的过程,需要不断地改善,不要想着一气呵成;对于性能问题,不一定必须要改善,受限于架构或者其它原因某些问题可能会很难改善,