0

こんにちは、私はJavaコーディングに非常に慣れていません。現在アプリを作成していますが、この問題に遭遇しました:

GC_CONCURRENT freed 1151K, 19% free 5594K/6868K, paused 4ms+5ms, total 86ms

私はいくつかの検索を行ったところ、ガベージ コレクションを行う必要があることがわかりました。誰かがガベージ コレクションのしくみを教えてくれませんか。たとえば、オブジェクトがガベージ コレクションの対象になるのはいつですか。それを強制する方法があれば教えてください。

Allocation Tracker を使用したところ、[]byte が最も多く割り当てられているとのことでした。私がそれを解決しないと、プログラミングで自分の進歩が見られないのを助けてください。

編集:誰かが私の GC_CONCURRENT エラーで私を助けてくれますか?それを解決する方法がわかりません。

4

3 に答える 3

0

Java には自動ガベージ コレクションがあります。管理する必要はありませんが、アプリケーションの高いパフォーマンスを維持できます。

finalize()- メソッドを使用すると、ガベージ コレクションに役立つ場合があります。

オブジェクトが Java で作成されるたびに、ヒープと呼ばれるメモリ領域に入ります。Java ヒープはガベージ コレクション ヒープと呼ばれます。ガベージ コレクションを強制することはできません。ガベージ コレクターは、メモリ不足の状況で実行されます。実行すると、到達不能オブジェクトによって割り当てられたメモリが解放されます。ガベージ コレクタは、優先度の低いデーモン (バックグラウンド) スレッドで実行されます。System.gc()を呼び出してガベージ コレクタにガベージを収集するように依頼することはできますが、強制することはできません

于 2013-08-14T17:57:25.830 に答える
-5
System.gc();

ガベージコレクションを強制します

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html Javadoc は言う

static void gc() 
          Runs the garbage collector.
于 2013-08-14T17:59:05.433 に答える