3

iOS 7 アプリで SDWebImageDownloader を使用して、Web から画像をダウンロードしています。私は SDWebImageManager を使用しておらず、私に代わって何もキャッシュしないはずのダウンローダーのみを使用しています。

より多くの画像がダウンロードされるにつれて、私のアプリのメモリ使用量はゆっくりと上昇し、終わりが見えずに 100 MB に近づきます。このメモリは決して解放されず、キャッシュに何も保存されていない場合でも発生します。そのため、ダウンロードした画像はSDWebImageDownloaderによって何らかの形でメモリに保持されていると思われます。このメモリをクリアする方法を知っている人はいますか?

更新 SDImageDownloader が原因で問題が発生したという私の仮定は正しくありませんでした。画像がダウンロードされるたびに、画像を小さいサイズに変換し、その画像を SDImageCache に保存しました。メモリ キャッシュを定期的にクリアしようとしたため、SDImageCache を除外しましたが、メモリ クライミングには影響しませんでした。ただし、それを呼び出す行を削除しただけで、メモリの問題はなくなりました。

これは私に新たな疑問を投げかけます: メモリをそれほど増加させずに SDImageCache を使用するにはどうすればよいでしょうか? メモリ キャッシュ機能は必要なく、ディスク キャッシュ機能だけが必要です。ただし、メモリ キャッシュをクリアする方法はないようです。ディスク キャッシュは、縮小サイズのイメージが他の方法で使用するよりも多くのメモリを使用しているようです。このメモリ使用量はどこから来ていますか?

4

0 に答える 0