我有一个奇怪的内存泄漏问题,我的应用程序不断泄漏Bitmap
个对象和其他相关对象,如VectorDrawables
,AnimationDrawables
我通过Eclipse Memory Analyzer
并且Gimp能够恢复泄露的Bitmap
物品,并发现它们是随机形状的星星,正方形或圆形。我的res/drawable
文件夹中没有这些形状。
他们来自哪里,为什么他们泄漏这么多?
这个泄漏发生在我的Samsung Galaxy S7 - Android 7.0
和模拟器上Android 7.0
和6.0。但是当我在运行Android 4.4.4
这是我的hprof的链接。文件,如果有人会仔细看看:https://www.dropbox.com/s/e1ry3ny5eb66xk8/out3%20-%20Kopi.hprof?dl=0
内存分析器中Dominator Tree的屏幕截图
它们的黄色标记是例如此图片下面的星星
我的漏洞中发现的星星位图
此外,我的堆栈跟踪一直无休止地吐出这些行
03-21 17:00:08.415 16747-16747/muddzdev.shoppist I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
03-21 17:00:08.428 16747-16760/muddzdev.shoppist D/InputTransport: Input channel constructed: fd=98
03-21 17:00:13.315 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:13.632 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:13.914 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:14.257 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:14.592 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:14.933 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
03-21 17:00:15.299 16747-16886/muddzdev.shoppist E/OpenGLRenderer: saveGfxinfoFileDisabled enabled
答案 0 :(得分:14)
在更新到API 24后,我遇到了与S7相同的问题,我可以通过在Android Studio中禁用GPU监视器来删除此错误。看起来它肯定是一个Android工作室问题,也许只有S7。
答案 1 :(得分:3)
所以这个问题很难调试,我花了整整几个星期的工作。这种泄漏来自无处,CanaryLeak
甚至无法检测到它。
我卸载了Android Studio,删除了User
文件夹中AppData下的电脑中的所有重播文件夹,以及C:/User
和Program files
下与Android或Android Studio相关的所有内容甚至是SDK文件夹。
使用CCleaner
对注册表进行了全面清理,然后再次下载了Android Studio,从Git克隆了我的项目,然后又重新运行了我的应用程序,就在这里!没有泄漏。
我非常确定这个疯狂的泄漏与您自己的应用程序无关,但与Android Studio或其他东西无关