0

1 つのアクティビティと多くのビュー サブクラスを持つアプリケーションを開発しています。ビューを変更する必要があるときは、ロード画面 (別のビュー クラス) を呼び出し、新しいビューを別のスレッド (runnable を使用) にロードし、準備ができたらSetContentView関数でビューを設定します。

今私が直面している問題は、メモリが不足していることです。すべてのビューには、ロードするオブジェクトの独自のリストがあるためです。

out of memoryここで私の質問は、例外に遭遇しないようにメモリを解放するにはどうすればよいかということです。

PS私は古いビューを無効にして、それが持っているすべてのビットマップをリサイクルしてから、System.gc()今のところ運が悪いと呼んでいます。

4

3 に答える 3

0

ビューがフォーカスされていないときに thread.interrupt () を実行する

于 2013-08-25T13:44:09.173 に答える
0

インテントを使用して、異なるクラスのビューを表示してみてください。

于 2013-08-25T14:11:05.823 に答える
0

ビューをさまざまなアクティビティ クラスに分割することができると考えていました。その後、startActivityforResult(intent) でアクティビティを開始できます。ビューが完了したら、finish() を呼び出すだけで、メモリからリソースが削除されます。

于 2013-08-25T14:17:34.893 に答える