質問

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

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

結果が得られたら、それをリフレッシュする必要はありません(場所とジオ座標はどのくらいの頻度で変化するのですか?)

私の質問 :アプリが実行されるたびに、このデータをクエリする必要があることを最適に避けることができます。スタートアップですべてをロードするサービスで何かをすべきですか? (50回以上照会する必要がある場合、非常に遅くなる可能性があります)。または、電話をかけ、結果をSQLに保存してから、現在結果を保持していない場合にのみクエリする必要がありますか?

役に立ちましたか?

解決

迅速にキャッシュする場合は、最新の結果をSQLiteデータベースに保存することをお勧めします。あなたはおそらく使用することで逃げることさえできます 優先マネージャー 他のものにデータベースが必要ない場合は、迅速なストレージ用。最新のCoordinatesとDateTimeを保存するだけで、X分またはX時間後にDateTimeが期限切れになったかどうかを確認してください(それがあなたがやりたいことの場合)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top