2

私はAndroidアプリケーション2.3.3で、ボタンを押すとcalendarViewを使用します=>ダイアログを表示します(calendarViewを含む)

私のlogcat表示:

D/dalvikvm(15292): GC_CONCURRENT freed 1988K, 10% free 20024K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1995K, 10% free 20022K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1986K, 10% free 20029K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 2005K, 10% free 20023K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1995K, 10% free 20016K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1997K, 10% free 20022K/22087K, paused 3ms+4ms

アプリの速度が低下します...ガベージコレクションがアプリを一時停止したと思います すぐに表示するのを手伝ってください!

ありがとう!

4

4 に答える 4

2

ガベージ コレクターはデーモン スレッドです。止めることも呼ぶこともできません。System.gc() などの要求をガベージ コレクターに送信するだけです。

さらに、ガベージ コレクターはパフォーマンスの向上に役立ちます

オブジェクトを GC で収集したくない場合は、参照を保持します。

オブジェクトが時期尚早に収集される場合は、アプリケーションの設計にバグがあるという兆候です。

于 2013-03-12T08:34:30.533 に答える
1

アプリケーション (ゲームなど) を実装する場合avoid garbage collection、ガベージ コレクターが実行されるたびに一時停止が発生するため、

All you can do is avoid to keep on creating objects and try to reuse as much as possible the objects instances you already have.

これはさまざまな方法で実行できます。これを見てください。

于 2013-03-12T08:46:34.430 に答える
1

CalendarView を使用しているときに、1 つの非常に驚くべきことに気付きました。カレンダーの高さを数値として設定すると、ex. android:layout_height="400dp" ガベージ コレクターは実行されませんが、match_parent ガベージ コレクターとして設定すると、向きを切り替えるたびにガベージ コレクターが実行されます。おそらくそれが答えですか?

于 2013-10-28T00:22:31.233 に答える
0

私は私の問題を解決しました。私のダイアログにはcalendarViewを含むRelativeLayoutがあるためです。RelativeLayout を LinearLayout に変更 => ガベージ コレクションが開始されない

ありがとう!

于 2013-05-20T01:44:01.690 に答える