これはばかげた質問かもしれませんが、私の経歴はC++と自分の記憶の管理にあります。
私は現在、ガベージコレクションと知覚される「ラグ」の頻度を減らすために、ゲームの1つから可能なすべての割り当てを削減しているため、作成するすべての変数について、オブジェクト(StringやRectなど)を使用します。コンストラクターで事前に作成し、単純な10行の関数で一時変数を作成しないようにしています...(それが理にかなっていることを願っています)
とにかく今夜はもう少し作業していましたが、ガベージコレクションとプリミティブ型(int、boolean、float)は、呼び出される10行の関数で作成するこれらのプリミティブ型変数であるという仮定について完全に間違っている可能性があることに気付きました。ガベージコレクションの問題に1秒間に20回追加しますか?
したがって、1年前、数秒ごとにlogcatに次のようなメッセージが表示されます。
GCは101msで4010オブジェクト/484064バイトを解放しました
今、私はそのメッセージを15-90秒かそこらごとに見ます...
だから私の質問を言い換えると:このメッセージを見たときにプリミティブ型(int、float、booleanなど)が含まれていますか?