문제

나는 사용한다 SDWebImage 내 앱에서 웹에서 이미지를로드하고 캐시합니다. 그것은 매력처럼 작동하지만 유일한 문제는 앱을 종료 할 때마다 순간적으로 이미지 캐시가 지워지고 모든 이미지를 다시 다운로드해야한다는 것입니다. 이것은 인터넷 연결이 느려질 때 특히 문제입니다. 앱으로 돌아갈 때 이미지를 유지하고 싶습니다. 누구든지 이것을 달성하는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

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];

원한다면 자유롭게 의견을 말하거나 변경하십시오. 이 코드 라인을 끄는 옵션을 만들었습니다.

다른 팁

설정하지 않도록하십시오 maxCacheSize[SDImageCache sharedImageCache], 앱이 배경으로 이동할 때 설정되면 캐시 파일이 maxCacheSize.

안에 cleanDisk 방법, 파일을 제거하기 전에 확인이 있음을 알 수 있습니다.

if (self.maxCacheSize > 0 && currentCacheSize > self.maxCacheSize)
{
// ...
}

그래서 만약 maxCacheSize 설정되지 않으면 아무것도하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top