android - 回收位图 Ice Cream Sandwich 强制关闭

标签 android bitmap rotation android-4.0-ice-cream-sandwich recycle

在我的 ondestroy 方法中,我回收了所有用于释放内存并防止应用程序在屏幕旋转期间崩溃的位图。事实证明,在 Ice Cream Sandwich (android 4.0) 之前,这对所有 api 都是正确的做法。现在,当我在 ICS 上旋转时,我会强制关闭并且 logcat 没有用。我无法将其追溯到我的代码,但是当我删除位图回收时,它对 ICS 非常有用。对此有什么想法吗?

最佳答案

您是否回收从资源中检索到的位图?听起来操作系统保留了对位图的引用并将其用于将来对同一资源的调用。在这种情况下,当屏幕旋转时,它会尝试使用您刚刚回收的同一个 Bitmap。这将导致强制关闭。

您可能根本不需要手动回收位图。这是一个非常危险的调用,尤其是在从资源加载的位图上。

关于android - 回收位图 Ice Cream Sandwich 强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106674/

相关文章:

android - 有意回到之前的 Activity

java - 如何在 Android 中调整 LayerDrawable 中的 Drawable 大小和位置

Android OpenCV 纸张检测

java - 错误 : Error parsing XML: unbound prefix

c# - 将 RAW 字节数据转换为位图

C++ 位图到 base64

java - 将位图设置为 TextView 的背景 - Android

Android API 版本兼容性

ios - 旋转后 MKAnnotationView 标注未正确放置

css - 如何缩放和旋转圆形搜索按钮?