Domanda

Io uso SDWebImage Nella mia app per caricare e memorizzare nella cache le immagini dal Web. Funziona come un fascino, ma l'unico problema è che ogni volta che esco dalla mia app, anche momentaneamente, la cache delle immagini viene cancellata e tutte le immagini devono essere scaricate di nuovo. Questo è particolarmente un problema quando la connessione Internet è lenta. Vorrei che le immagini fossero conservate quando torno all'app. Qualcuno sa come raggiungere questo obiettivo?

È stato utile?

Soluzione

Vai a sdimagecache.m e cerca metodo - (id) initWithNamespace: (nSstring *) ns Lì troverai tale codice:

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

Sentiti libero di commentare o cambiare qualsiasi cosa se vuoi. Farei un'opzione per disattivare queste righe di codice.

Altri suggerimenti

Assicurati di non impostare il maxCacheSize di [SDImageCache sharedImageCache], se è impostato quando l'app va in background, cancellerà i file di cache per adattarsi al maxCacheSize.

in cleanDisk Metodo, puoi vedere che c'è un controllo prima di rimuovere i file

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

quindi se maxCacheSize non è impostato, non farà nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top