0

私はいくつかのcaを配置するMapViewを持っています。200枚のオーバーレイ、すべて同じ絵。Restlet で位置データを取得します。しかし、それは問題ではありません。データを十分に速く取得できるからです。

問題は、MapView が非常に遅いことです。オーバーレイの数に応じてパフォーマンスが低下しますが、そうではありません。iPad には、これを簡単に実行できるアプリがあります。私のタブレットはさらに多くの Ghz を持っています。スクロールしなくても、タブレットはマップの一部を何度も読み込んでいます。

だから私は何か間違ったことをしていると思います。だから私はいくつかの質問があります:

  1. LogCat は次のように述べています。GC_CONCURRENT freed 287K, 6% free 7222K/7623K, paused 1ms+2ms これを繰り返し、継続的にスペースを取得しようとします。これが問題で、キャッシュがいっぱいになっている可能性はありますか?

  2. オーバーレイの影がかなりのパフォーマンスを犠牲にする可能性はありますか? どうすれば削除できますか?

  3. 戻るボタンを押してすべてのデータを削除するにはどうすればよいですか? onStop()andに何を挿入する必要がありonDestroy()ますか? 私が知っているように、ガベージ コレクターはこれらすべてを自動的に行っています。他に何ができますか?オーバーレイを削除しますか?

  4. 私は次のようなケースを使用します:

    minLatitude = (minLatitude > partnerLatitude) ? partnerLatitude : minLatitude;
    

    そしてfor-each:

    for(BrunnerPartner partner: query) {     
    partnerAL.add(partner);                     
    }
    

    これらはパフォーマンスに悪いですか?

  5. ズーム スパンが小さいときにオーバーレイを非表示にすると役に立ちますか? どうすればこれを行うことができますか?

4

1 に答える 1

1

OverlayItem の例を見てみましょう: http://developer.android.com/resources/tutorials/views/hello-mapview.html

個々のオーバーレイを使用すると、大量の膨張が発生します。

于 2012-01-04T18:57:04.113 に答える