私は多くの小さな(128x128px @ 24ビットなど)PNG画像をビットマップとして読み込み、ビューに描画するAndroidアプリを設計しています。たくさんあります - 3000x3000pxの地図を結びました!Androidアプリ内からガベージコレクションをキャッチしていますか?
マップはマップの最初の部分を見るときにのみ.pngファイルからビットマップを読み込み、描画する必要があります。それまでは、ロードされていません。
オフラインで一定時間画像をアンロード(Bitmap.recycle())できないようにするには、マップをスクロールしているユーザーがすぐにアプリケーションをいっぱいにしますヒープ。
GCがビットマップイメージをカプセル化するクラスで実行したいときにキャッチする方法はありますか?そのため、閾値時間を超えてオンスクリーンになっていないビットマップを手動でアンロードできますか?明らかに、Dalvik GCはライブ参照を常に持っているので、画像自体をアンロードしません。
(PS:私は自分自身への挑戦としてGoogle Maps APIを使用していませんが、衛星画像などの描画をどのように扱うのか興味深いでしょう。
これに加えて、ロードアンロードイメージを別のスレッドに移動することをお勧めします。私はテレビガイド(何千ものテレビ番組のプレビューをスクロールする)のためのそのような振る舞いを実装し、アプリケーションのスピードを大幅に改善しました。 – OleGG
私はこれがGoogleマップの機能だと思います。 – Wyzard
私はGoogle Mapsが膨大な量のネイティブコードを使用していると思うので、ここではすべての画像処理が「低レベル」に置かれています。 – OleGG