アプリケーションのデータを取得するために、Json ファイルを Jackson で解析して、カスタム オブジェクト (のリスト) にします。アプリを起動すると、利用可能な新しい Json ファイルがあるかどうかを確認し、ダウンロードするかどうかをユーザーに尋ねます。それ以外の場合は、「古い」Json ファイルを使用します。しかし、アプリを起動するたびに Json を解析します。次に、アプリケーション クラスを使用してオブジェクトのリストを保存し、必要なときにデータに移動します。ほとんどの場合、必要なオブジェクトは 1 つだけです。
複数レイヤーのネストされたオブジェクトを含む巨大なリストから、リストビューを作成するために必要なデータ (名前、ID、2 番目のテキスト、および画像の URL) のみを配置するカスタム オブジェクトの単純な「フラット」配列リストを作成します。何かがクリックされると、ID を使用してすべてのデータを取得します。
この Json ファイル全体を毎回解析するのはかなり時間がかかり、アプリケーションの起動時間が長くなります。もちろん、これはだめです。この膨大なカスタム オブジェクトのリストをアプリケーション クラスに保存すると、デバイスの大量のメモリがいっぱいになり、使用後にクラスが強制終了されることがあり、再度解析する必要があります。
すべてのデータを再解析する必要がない方法はありますか? 私は次のようなプロセスを望んでいました:
- 新しい Json ファイル
- 初めて全 JSON を解析して多層化されたカスタム オブジェクトのリストにする
- リストビューの簡単なリストを作成する
- 大きなリストを削除/クリアする
- リスト全体を記憶に保持せずに、巨大なアイテムの1つだけを取得するための巧妙な方法。(おそらくジャクソンと何か)。
- アプリケーションの破棄時に単純なリストを保存するかもしれませんが、parceable または serializable について何か読みましたか?
誰でもこれを達成する方法を知っていますか? それとも他に素晴らしいアイデアがありますか?