2011-06-21 11 views
0

ネットワークを介してゆっくりと取得されたデータを持つアダプタが付いたギャラリーがあるアクティビティがあります。私はフルスクリーンに切り替えることができ、同じアダプターでバックアップされたギャラリーを使用したいと考えています。フルスクリーンモードに切り替えただけで、ネットワーク上のすべてのデータをリロードする必要はありません。私は一時的にストリングといくつかのイメージを含む約100個のオブジェクトをキャッシュし、それをフルスクリーンで再ロードする必要がありますか、それとも良い方法がありますか?私はフルスクリーンアクティビティで元のギャラリーへの参照を取得しようとしましたが、findViewById()はnullを返しました。フルスクリーンに切り替えるときにデータをキャッシュする

+0

切り替えアクティビティに関係なくキャッシュする必要があります。ユーザーが2分前にダウンロードした100のものをダウンロードしなければならない場合、ユーザーはあなたのアプリを離れて戻ってくるでしょうか? – dymmeh

+0

ほとんどの場合、はいです。しかし、私が開発しているアプリでは、StumbleUponと同様の方法でコンテンツを取得します。StumbleUponは、アプリを使用するたびに異なるように設計されています。 – Jackson

+0

わかりました。ユーザーがビューをスクロールするとどうなりますか?画面に戻ったときにそのビューのコンテンツを再ダウンロードする必要がありますか?リロードする必要がある場合は、確実にキャッシュが不可欠です。さらに、キャッシュされたデータをフルスクリーンアクティビティで使用することもできます。 – dymmeh

答えて

0

イメージの場合、LRUキャッシング(ディスクとメモリの両方)を使用できます。オブジェクトについては、シリアライゼーションを使用してください。

+0

これらは最終的に画像以外のものがたくさんあるオブジェクトなので、おそらくそれらをシリアル化する必要があります。私はそれが正しいことを理解したら、これを正解とマークします。 SQLiteデータベースを次のステップに使用していますか? – Jackson

+0

DBを使用したり、オブジェクトにParcelable intefaceを実装することができます。 –

+0

私は自分のオブジェクトをParcelableにして、バンドルにArrayListを格納し、アクティビティを開始するときにputExtras()を使用してBundleを渡し、サブアクティビティのオブジェクトのArrayListを取得します。 – Jackson

関連する問題