問題タブ [android-lru-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
153 参照

java - LRUCache は、すべての画像がキャッシュされるまでサイズ 0 を返します

サーバーから取得した画像をキャッシュするために LRUCache を使用しています。RecyclerView からリクエストしていますが、すべての画像がキャッシュされるまで、LRUCache インスタンスはサイズ 0 を返します。

コードはこちら

問題を解決するにはどうすればよいですか?
みんなにthx

0 投票する
3 に答える
1842 参照

android - Picasso - キャッシュ サイズを 5 MB に制限する

アプリで画像のダウンロードとキャッシュに Picasso を使用しています。
うまく機能しますが、問題があります。アプリにはたくさんの画像があり、しばらくするとアプリのキャッシュが 10 MB を超えて増加します。

長い検索の後、ピカソでキャッシュを制限するためのこのソリューションを見つけましたが、機能しません:

アプリ アプリケーション クラスの onCreate でこのメソッドを使用しています。
私の仕事のどこが悪いのですか?またはこれを達成する他の方法はありますか?
{私の問題を明確に説明したいと思います:/}

0 投票する
2 に答える
1897 参照

java - NullPointerException: キー == null || 値 == null

アプリケーションにアダプターがあり、投稿を膨らませてListView. 各投稿には画像があるため、画像LruCacheを保存するために使用します。

アプリは問題なく動作しますが、2、3 回クラッシュし、何が問題なのかわかりませんでした。前回だけ、LogCat からこのログを取得できました。

E/AndroidRuntime(2407): 原因: java.lang.NullPointerException: key == null || 値 == null

クラッシュは、アプリが最近インストールされた場合にのみ発生します (デバイスからアプリを削除して再度インストールした場合)。初めてアプリを開いて上下にスクロールし始めると、クラッシュすることがあります。(常に発生するわけではありません。完全にランダムです!)

その後、もうクラッシュしません... :/

LruCache と空のキャッシュに関係があると思います。この質問を見ましたが、それは私の問題ではありませんでした。コードで null キャッシュを確認しました。

なにか提案を?

PS: 私の質問には十分な詳細がないことはわかっていますが、それが私が持っているすべての情報です!

0 投票する
1 に答える
492 参照

android - LruCache が null を返す

キーを使用してビットマップを取得しようとすると、ビットマップをキャッシュする次のコードがあります。それらは常に null を返します。私を助けてください 。ありがとうございました

キャッシュを取得および設定する関数

- - - - - -アップデート - - - - - - - - - - - - - - - - - - - --- デバッグの結果、値が挿入されていることがわかりましたが、アプリを終了した後はアクセスできません。アプリを再起動しようとすると、キャッシュが失われます。その値を保持する方法を教えてください。ありがとうございました

0 投票する
0 に答える
619 参照

android - アプリを閉じると Android ディスク LRU キャッシュがリセットされる

これは本当に意図した動作ですか? この問題に関するドキュメントが見つかりません。

0 投票する
0 に答える
1008 参照

java - 画像のリロードのために Android Volley の LRUImageCache のキャッシュをクリアするには?

画像のダウンロードに Volleys ライブラリを使用しています。ユーザーがプロフィール画像を変更すると、画像をサーバーにアップロードして前の画像を置き換えます。データベースでユーザーの ID を使用しているため、プロフィール画像へのリンクは常に同じです。

私がキャッシュで抱えている問題は、ネットワークイメージビューの画像を置き換えたいリンクでサーバーが成功した応答を返した後、キャッシュ内のビットマップを置き換えることができないことですが、それはうまくいかないようです. これが私のLruImageCacheクラスです

}

私はこのように私のAppControllerにクラスを持っています

}

画像を完全にアップロードし、サーバーから返された URL を取得した後、この行を使用しようとしましたが、機能しませんでした

また、LruCache を呼び出してキャッシュからビットマップを削除しようとしたため、画像を再度設定しましたが、どちらも機能していないようです。

また、別の方法を使用してビットマップを手動でダウンロードし、new_url をキーとして使用してキャッシュに入れようとしましたが、まだ機能しません。

新しいアップロードされた画像ファイルをロードするように、キャッシュ内のビットマップを置き換えるにはどうすればよいですか? 画像ファイルを開いて置き換えられていることを確認できるので、画像ファイルがサーバーにアップロードされていることは確かです。現時点で機能する唯一の方法は、アプリを閉じて再度開くことです。