1. ホーム
  2. java

[解決済み] Androidにおけるガベージコレクタ

2022-10-01 14:39:36

質問

Androidの回答で、ある状況下でガベージコレクタを呼び出すことを推奨しているものを多く見かけますが、これはどういうことですか?

Android では、メモリを大量に消費する操作を行う前にガベージコレクタを要求するのは良い習慣なのでしょうか。もしそうでないなら、私は以下のような場合にのみそれを呼び出すべきでしょうか。 OutOfMemory エラーが発生した場合のみ呼び出すべきでしょうか?

ガベージコレクタに頼る前に使うべき他のものはありますか?

どのように解決するのですか?

以前のバージョンでは 3.0 ハニカム : はい。 を呼び出す System.gc() .

Bitmap を作成しようとしましたが、常に "VM out of memory error" が表示されました。しかし、私が System.gc() を最初に呼び出すと、OKでした。

ビットマップを作成する際、Androidではメモリ不足のエラーで失敗することが多く、その際に が最初にガベージコレクションを試さない . そのため System.gc() を呼び出すと、Bitmapを作成するのに十分なメモリが得られます。

Objectsを作成する場合、私は System.gc が自動的に呼び出されると思います。 しかし ではなく はビットマップの作成には使用されません。ただ失敗するだけです。

そこで、手動で System.gc() を手動で呼び出すことをお勧めします。