0

MapViewに多数のオーバーレイを追加しました。MapViewを移動、ズームイン、またはズームアウトすると、マップがアクションに応答する前にオーバーレイによって大幅な遅延が発生します。この遅延を最小限に抑える方法はありますか?

同様の問題について、他の誰かがすべてのオーバーレイを1つの大きなオーバーレイに結合することを提案しているのを見ました。そのようなものが機能する場合、オーバーレイの配列を1つのオーバーレイに組み合わせるにはどうすればよいですか?

また、オーバーレイで指定されたすべての線をビットマップに描画してから、代わりにビットマップをオーバーレイすると、パフォーマンスが向上する可能性があることもわかりました。これが最良のオプションである場合、どのように実装すればよいでしょうか。

どんな助けでも大歓迎です。さらに情報やコードが必要な場合は、お問い合わせください。

4

1 に答える 1

0

MapViewに多数のオーバーレイを追加しました。MapViewを移動、ズームイン、またはズームアウトすると、マップがアクションに応答する前にオーバーレイによって大幅な遅延が発生します。この遅延を最小限に抑える方法はありますか?

オーバーレイの数を減らし、複雑さを減らします。Traceviewを使用して、問題がどこにあるかを正確に判断します。既存のdraw()方法の1つが遅い場合は、オーバーレイの組み合わせについて心配する前に、それを修正する必要があります。のオーバーレイ管理に余分な時間がかかっていると思われる場合はMapView、オーバーレイをより少ないオーバーレイに統合することでメリットが得られる可能性があります。

オーバーレイの配列を1つのオーバーレイに組み合わせるにはどうすればよいですか?

コードを単一のオーバーレイクラスにリファクタリングします。それを超えて、私たちはあなたを助けることはできません。なぜなら、それらが「多数」であるということを除いて、私たちはあなたのオーバーレイについて何も知らないからです。

これが最良のオプションである場合、どのように実装すればよいでしょうか。

ビットマップで裏打ちさCanvasれたものを作成し、その上に線を描画してから、結果Bitmapのオーバーレイをで描画するdraw()と思います。

于 2012-06-03T12:07:04.110 に答える