0

位置を追跡するためのx、y値のリストを作成しています。アンドロイドの最適化に取り組むことは非常に重要なので、リソース使用の観点からどちらの方法が良いのだろうかと思います。

方法1:xとyのintを含むクラス(Position)を作成してから、positionsというリストを作成します。

方法2:並列リストを作成します:positionsXとpositionsY。

メソッド1はオブジェクト指向コーディングにとって最もユーザーフレンドリーであるように思われるので質問していますが、JavaまたはAndroidの内部動作については十分に理解しておらず、余分なクラスのオーバーヘッドによってメリットが相殺されるのではないかと心配しています。

それとも、実際には問題にならないほど近くにありますか?

4

2 に答える 2

1

2つのソリューション間のパフォーマンスの違いはごくわずかです。リストのタイプ(配列、リスト、マップなど)やデータへのアクセス方法など、より詳細な詳細に応じて、どれが無視できるほど高速であるかが決まります。

ただし、読みやすさ、OO、および保守性の観点から、方法1は地滑りで勝ちます。

于 2013-01-22T02:15:02.167 に答える
0

Android上のJavaのガベージコレクションは遅いです。多数のPositionオブジェクトを作成して破棄すると、GCが起動したときにアプリケーションで一時停止が表示される場合があります。クラスソリューションを使用する場合は、クラス内にオブジェクトキャッシュを作成して、この問題を軽減できます。

配列を使用する場合は、イテレータとforeachループに注意してください。前回チェックしたときに、要素ごとに新しいオブジェクトが作成されました。

とにかく、パフォーマンスの違いは、これらのオブジェクトを非常に大量に(1秒あたり数千など)作成した場合にのみ表示されます。

于 2013-01-22T02:14:50.073 に答える