我有一个奇怪的内存泄漏问题,我的应用程序不断泄漏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 https://www.dropbox.com/s/e1ry3ny5eb66xk8/out3%20-%20Kopi.hprof?dl=0
内存分析器中的支配树的屏幕截图
黄色标记的就是这张图下面的星星
在我的泄露中发现的星星位图
而且我的堆栈跟踪不断地吐出这些行
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
更新到 API 24 后,我在 S7 上遇到了同样的问题,我可以通过在 Android Studio 中禁用 GPU 监视器来消除此错误。看起来这肯定是 android studio 的问题,也许只有 S7 才有。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)