Androidのパフォーマンスのヒントから:
オブジェクトの作成は無料ではありません。... アプリでより多くのオブジェクトを割り当てると、定期的なガベージ コレクションが強制され、ユーザー エクスペリエンスに小さな「しゃっくり」が生じます。
私のアプリは定期的に GPS データといくつかのメタ データを収集します。位置情報リクエストごとに、結果をデータ オブジェクトに追加する必要があります。
"data": {
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
...
}
次に、オブジェクトが特定のサイズに達した後、またはデバイスの接続性が向上したときに、アプリは完全なデータ オブジェクトをサーバーにストリーミングし、それをクリアして、空のオブジェクトを再利用します。
外側のdata
オブジェクトを再利用するとパフォーマンスが向上し、それを達成するのはそれほど難しくありませんが、内側のtimestamp
オブジェクトを再利用することは不可能に思えます。GPS データ収集の次のラウンドで役立つことが判明した内側のオブジェクトを再利用し、残りの内側のオブジェクトをガベージ コレクションすることはできますか?