マップの上に表示する動的なタイル コンテンツがいくつかあります (具体的には、気象画像 -- レーダー、衛星、気温など)。Google Maps API for Android v2 を使用しています。
私が抱えている問題は、明らかにタイル画像を更新する唯一の方法 (つまり、新しいデータが到着したとき、またはタイム ラプス アニメーションでフレームが進んだとき) は、TileOverlay.clearImageCache を呼び出すことです。残念ながら、これを行うと、タイル オーバーレイが一瞬ちらつきます。これは、clearImageCache が既存のタイル イメージを表示からすぐに削除するためですが、新しいタイル イメージをデコードして表示できるようになるまでに遅延が生じるためです。
毎回サーバーからタイル画像を取得するのではなく、タイル画像をキャッシュするカスタム TileProvider を使用しています。しかし、キャッシュされたタイルのみをフィードしている場合 (つまり、TileProvider.getTile の実装によって大幅な遅延が発生していない場合) であっても、プロセスには十分な遅延があり、ユーザーがちらつくことがあります。
このちらつきを回避する方法を知っている人はいますか? タイル オーバーレイをダブル バッファリングする方法はありますか? マップに 2 つの TileOverlay をアタッチしてダブル バッファリングしようとしましたが、そのうちの 1 つは非表示です。しかし、非表示の TileOverlay は、clearImageCache を呼び出した後でも、TileProvider からタイルのフェッチを開始しません。