2017-05-20 7 views
0

Ich verwende SDImageCache, um Bilder aus einer Tabellenansicht zwischenzuspeichern, aber beim Scrollen sinkt der Speicher weiter. Also habe ich die Bibliothek überprüft und die Eigenschaft in SDImageCache.h gefunden, um maxMemoryCost zu setzen, und erwarteter Cache wird über dieses Limit gelöscht. In meinem Test löscht [SDImageCache sharedImageCache] jedoch nichts. Also diese Eigenschaft tut derzeit nichts.SDImageCache set maxMemoryCost tut nichts. Der Speicher nimmt weiter zu

App wird schließlich auf riesigen Speichergröße abstürzen.

Dank

Antwort

0

Hallo ich das gleiche Problem konfrontiert war und fixiert wurde das Hinzufügen dieser Zeilen auf meinem AppDelegatedidFinishLaunchingWithOptions Methode

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    SDWebImageDownloader.shared().shouldDecompressImages = false 
    SDImageCache.shared().shouldDecompressImages = false 
} 

Hope this Sie hilft, lassen Sie mich über

+0

Dank Ihrer Antwort wissen Reinier . Kannst du erklären, was das bedeutet, indem du es auf falsch setzt? – Ning

+0

@Ning Ich fand diese Lösung an einem anderen Ort, ich erinnere mich nicht, aber das löst mein Problem, mein App-Speicher wurde unkontrolliert wachsen, weil die Last von großen Image-Ressourcen mit SDWebImage und diesem Code das Problem beheben, löste Ihr Problem? –

+0

Ich sah den Kommentar auf SDImageCacheConfig.h, sollteDecompressImages jetzt in die Konfig verschoben werden. Es hilft, einen Teil des Speicherverbrauchs zu reduzieren. [SDImageCache sharedImageCache] setMaxMemoryCost und setMaxMemoryCountLimit hilft auch. Danke – Ning