1

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

4

1 回答 1

2

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

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

于 2012-02-10T17:30:27.317 回答