アプリで使用SDWebImage
して、Web から画像を読み込んでキャッシュします。それは魔法のように機能しますが、唯一の問題は、アプリを終了するたびに、たとえ一瞬であっても、画像キャッシュがクリアされ、すべての画像を再度ダウンロードする必要があることです. これは、インターネット接続が遅い場合に特に問題になります。アプリに戻ったときに画像を保持したい。これを達成する方法を知っている人はいますか?
1965 次
2 に答える
2
SDImageCache.m に移動し、メソッド (id)initWithNamespace:(NSString *)ns を探します。次のようなコードが見つかります。
// Subscribe to app events
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(clearMemory)
name:UIApplicationDidReceiveMemoryWarningNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cleanDisk)
name:UIApplicationWillTerminateNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(backgroundCleanDisk)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
必要に応じて、自由にコメントアウトまたは変更してください。これらのコード行をオフにするオプションを作成します。
于 2013-12-09T13:50:39.900 に答える
1
を設定しないでください。maxCacheSize
アプリ[SDImageCache sharedImageCache]
がバックグラウンドに移行するときに設定されている場合、に合わせてキャッシュ ファイルがクリアされますmaxCacheSize
。
メソッドでcleanDisk
は、ファイルを削除する前にチェックがあることがわかります
if (self.maxCacheSize > 0 && currentCacheSize > self.maxCacheSize)
{
// ...
}
そのため、maxCacheSize
設定されていない場合は何もしません。
于 2014-01-07T05:42:15.820 に答える