1

私のアプリはクラスgetFromLocationNameからいくつかの呼び出しを行いますandroid.location.Geocoder;。これは現在私のアクティビティで処理されており、その呼び出しの結果に依存するデータも表示されます。

これは非常に遅くなる可能性があります。たとえば、アクティビティをロードする前に、最初にさまざまな呼び出しを完了する必要があり、それはネットワーク接続に依存しています。

結果が得られたら、それを更新する必要はありません(つまり、場所と地理座標はどのくらいの頻度で変更されますか?)

私の質問:アプリを実行するたびにこのデータを照会する必要をなくすにはどうすればよいですか。起動時にそれらすべてをロードするサービスで何かをする必要がありますか?(50回以上クエリを実行する必要がある場合は、かなり遅くなる可能性があります)。または、呼び出しを行い、結果をSQLに保存してから、現在結果を保持していない場合にのみ次回クエリを実行する必要がありますか?

4

1 に答える 1

2

すばやくキャッシュしたい場合は、最新の結果をSQLiteデータベースに保存することをお勧めします。他にデータベースが必要ない場合は、 PreferenceManagerを使用して迅速に保管することもできます。最新の座標と日時を保存し、日時がX分またはX時間後に期限切れになっているかどうかを確認します(それが必要な場合)。

于 2010-11-05T22:26:18.563 に答える