ListViewをキャッシュに保存したいのですが、どうすればよいかわかりません。リストはSQLから読み取られ、アルファベット順に並べられます。セパレータが付いているので、すべてのエントリを読み取り、文字で分類して、スペーサーを適切な場所に追加する必要があります。毎回リストを作成するよりも、リストをキャッシュに保存する方が速いと思います。それはそうです?ビューをキャッシュに保存するにはどうすればよいですか?
1 に答える
毎回リストを作成するよりも、リストをキャッシュに保存する方が速いと思います。それはそうです?
リストを保存する=ビュー全体とその描画キャッシュを保存すると仮定すると、必ずしも正しいとは限りません。とにかく、そのようなことをする簡単な方法はないと思います。
しかし、良いニュースは、あなたが本当にそれをする必要がないということです!
リストの読み込みが速くない場合はgetView()
、ビットマップのデコード、大量のデータの解析など、メソッド内で多くの操作を行っていることが原因である可能性があります。
正しい方法でそれを行いたい場合-画像を持っている場合は画像をキャッシュし、次にそれらをキャッシュからロードし、別のスレッドでデコードを行います(AsyncTesk
そのような目的でまたは他のAPIコンポーネントの1つを使用して) 。重い計算や解析を行っている場合は、結果もデータベースにキャッシュし、次回ロードします(たとえば、データベースにアルファベット順に並べてデータを保存します)。
このようなアプローチを使用すると、ユーザーエクスペリエンスが遅くなる理由はまったくありません。ビューはあなたが説明したように「保存」されるとは想定されていません。ビューを「ロード」するAndroidのメカニズムは、適切に使用すればうまく機能するため、そうする理由はないと私は本当に信じています。
それがあなたを助けてくれたことを願っています、そして幸運を祈ります。