1

私の ondestroy メソッドでは、使用したすべてのビットマップをリサイクルしてメモリを解放し、画面の回転中にアプリがクラッシュしないようにします。これは、アイス クリーム サンドイッチ (Android 4.0) まで、すべての API で正しいことであることが証明されています。現在、ICS をローテーションすると強制的に閉じられ、logcat は役に立ちません。コードまでさかのぼることはできませんが、ビットマップのリサイクルを削除すると、ICS でうまく機能します。これに関するアイデアはありますか?

4

1 に答える 1

2

リソースから取得したビットマップをリサイクルしていますか? OS がビットマップへの参照を保持し、同じリソースへの将来の呼び出しに使用するようです。その場合、画面が回転すると、リサイクルしたのと同じビットマップを使用しようとします。これにより、強制終了が発生します。

ビットマップを手動で再利用する必要はまったくない場合があります。特にリソースからロードされたビットマップでは、非常に危険な呼び出しです。

于 2012-02-10T17:30:27.317 に答える