内存泄漏,以为是图像,安卓



我的应用程序有内存泄漏。我以为是图像,但是,我运行的应用程序没有XML,只有主要活动,现在它是空的。问题是它仍然崩溃。

我在想也许图像无论如何都会加载到应用程序上,即使它们不在任何 XML 中,这就是我内存溢出的原因。

这有意义吗?

任何建议都会有所帮助!

谢谢!

Process: com.android.launcher3, PID: 2176
java.lang.OutOfMemoryError: Failed to allocate a 125440012 byte allocation with 8214474 free bytes and 84MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.getDrawableForDensity(Resources.java:849)
at android.content.res.Resources.getDrawableForDensity(Resources.java:806)
at android.content.pm.LauncherActivityInfo.getIcon(LauncherActivityInfo.java:111)
at com.android.launcher3.compat.LauncherActivityInfoCompatVL.getIcon(LauncherActivityInfoCompatVL.java:48)
at com.android.launcher3.IconProvider.getIcon(IconProvider.java:47)
at com.android.launcher3.IconCache.updateCacheAndGetContentValues(IconCache.java:391)
at com.android.launcher3.IconCache.addIconToDBAndMemCache(IconCache.java:360)
at com.android.launcher3.IconCache.updateIconsForPkg(IconCache.java:226)
at com.android.launcher3.LauncherModel$PackageUpdatedTask.run(LauncherModel.java:3049)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)

解决了这个问题。我在应用程序中将原始可绘制对象作为更大的尺寸以及可绘制对象 xxx。我的预感是它正在加载原始的而不是 xxx 的,所以它对于手机来说太大了。

最新更新