sdwebimage - تجنب مسح ذاكرة التخزين المؤقت للصورة عند إدخال الخلفية

StackOverflow https://stackoverflow.com/questions/20353551

سؤال

أنا أستعمل SDWebImage في تطبيقي لتحميل الصور وتخزينها من الويب. إنه يعمل مثل السحر ، ولكن المشكلة الوحيدة هي أنه كلما خرجت من تطبيقي ، حتى لحظات ، يتم مسح ذاكرة التخزين المؤقت للصورة ويجب تنزيل جميع الصور مرة أخرى. هذه مشكلة خاصة عندما يكون اتصال الإنترنت بطيئًا. أود الاحتفاظ بالصور عندما أعود إلى التطبيق. هل يعلم احد كيف يحقق هذا؟

هل كانت مفيدة؟

المحلول

انتقل إلى sdimagecache.m و SEEK Method - (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