首先,我知道有很多相关的帖子,我已经看了很多,但都没有帮助,我已经没有任何想法了 :)
所以我正在开发一个 Android 应用程序(sdk 版本 14+),其中使用了大量的图像(用于按钮、标志、显示许多图像等)。平均图像大小为 120kb+-100kb。
如标题所述,我遇到了 OutOfMemory 错误。起初我将图像源添加到 xml 中的 ImageViews 或通过 setImageResource 在程序中动态设置。不久应用程序由于 OutOfMemory 错误而崩溃。因此,我阅读了这个( http://developer.android.com/reference/android/util/LruCache.html)教程,并按照其说明实现了 LruCache。我将位图添加到 lrucache 中,然后使用 get 方法将位图设置到 imageview 中。
在活动的 onDestroy 方法中,我调用了 lrucache 上的 evictAll 方法,并将 lrucache 设置为 null。因此,我认为内存就被释放了。
然而问题仍然存在,当我浏览几个活动时,应用程序会崩溃。
非常感谢您的帮助 :)
所以我正在开发一个 Android 应用程序(sdk 版本 14+),其中使用了大量的图像(用于按钮、标志、显示许多图像等)。平均图像大小为 120kb+-100kb。
如标题所述,我遇到了 OutOfMemory 错误。起初我将图像源添加到 xml 中的 ImageViews 或通过 setImageResource 在程序中动态设置。不久应用程序由于 OutOfMemory 错误而崩溃。因此,我阅读了这个( http://developer.android.com/reference/android/util/LruCache.html)教程,并按照其说明实现了 LruCache。我将位图添加到 lrucache 中,然后使用 get 方法将位图设置到 imageview 中。
在活动的 onDestroy 方法中,我调用了 lrucache 上的 evictAll 方法,并将 lrucache 设置为 null。因此,我认为内存就被释放了。
然而问题仍然存在,当我浏览几个活动时,应用程序会崩溃。
非常感谢您的帮助 :)