Kann zufällig jemand wissen, wie ich den Cache-Speicher der iOS-App, die ich gerade entwickle, im Hintergrund (applicationDidEnterBackground) leeren kann? Ich habe über NSCache nachgeforscht, aber ich bin immer noch nicht in der Lage zu verstehen, wie ich den Cache abrufen könnte, um ihn zu entfernen/zu befreien.Den Cache programmgesteuert in iOS leeren
Antwort
Ist das, worüber du redest?
[[NSURLCache sharedURLCache] removeAllCachedResponses];
Sie können auch das Cache-Verhalten Ihrer Anfragen ändern, um selektiv Cache-Antworten. Wenn Sie zufällig AFNetworking
verwenden, können Sie setCacheResponseBlock
verwenden. Z.B. In einem Projekt stelle ich es so ein, dass nil
für alle großen Video- und Audiodateien zurückgegeben wird. Aber erlauben Sie es, kleinere Bilddateien zwischenzuspeichern.
[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) {
return nil; // Ensures we are not unecessarily caching asset data to Cache.db
}];
Hallo Alfie! Ich bin mir nicht sicher, ob das für mich funktioniert. Das einzige, was ich brauche, ist den Cache-Speicher zu säubern, wenn der Benutzer in seinem/ihrem iPad die App in den Hintergrund sendet. Zum Beispiel glaube ich, dass das Passwort und bestimmte Daten immer irgendwo im Speicher bleiben (anders als der Schlüsselbund-Wrapper), also müssen diese Daten aus Sicherheitsgründen entfernt werden. Was ich noch nicht weiß, ist, wie ich mein Programm mit Code anzeige, dass ich alle Daten im Cache abrufen und freigeben muss. Erkläre ich mich selbst? Vielen Dank für Ihr Interesse. –
Ja, diese zusätzliche Information hilft mir, Ihre Frage besser zu verstehen. Können Sie mir ein paar Beispiele von Daten geben, die Sie aus dem In-Memory-Cache löschen möchten, auch warum Sie das Bedürfnis haben, es zu löschen? –
Wenn Sie besonders besorgt sind über die Sicherheit eines Passworts, während es sich im Speicher befindet, bin ich fast sicher, dass niemand aus dem Speicher auf diese Daten zugreifen kann (d. H. Es muss nicht gelöscht werden/kein Problem). Wenn Sie es in NSUserDefaults speichern, wäre das ein Problem. Je nachdem, wo Ihr Verweis auf das Kennwort vorhanden ist, können Sie diese Eigenschaft auch nur auf Hintergrund festlegen. –
- 1. SDWebImage Cache leeren
- 2. Android: Cache programmgesteuert löschen
- 3. App-Cache programmgesteuert löschen?
- 4. Ldconfig-Cache leeren und neu erstellen?
- 5. Cache - Leeren und Ungültigmachen der Operation
- 6. Aktionsprogramm in IOS programmgesteuert setzen
- 7. Bilder programmgesteuert ausblenden in iOS
- 8. Wie man den Rahmen von UIKeyBoard programmgesteuert in iOS
- 9. Magento 2 Fehlermeldung beim Leeren des Cache
- 10. iOS UIWebview Cache-Mechanismus
- 11. iOS 3D Touch programmgesteuert
- 12. IOS erstellen UIAlertViewController programmgesteuert
- 13. iOS UIStackView programmgesteuert erstellen
- 14. Navigationsleiste programmgesteuert hinzufügen iOS
- 15. Speicherleck in AFNetworking Cache-Bilder in IOS
- 16. iOS Netzwerkproblem. TLS-Sitzungs-Cache-Lücke
- 17. MKMapView zeigt leeren Bildschirm in iOS 8
- 18. iOS Netzwerk-Daten-Cache-Problem
- 19. Set Seite Ausgabe Cache VaryByCustom Wert programmgesteuert
- 20. Hat Apple den HTML5-Cache offline von iOS-Geräten entfernt?
- 21. iOS hinzufügen Bildansicht in der Mitte programmgesteuert
- 22. Entfernen eines nicht leeren Verzeichnis programmgesteuert in C oder C++
- 23. Sperre Ausrichtung programmgesteuert in iOS 9
- 24. Leeren "Cache leer und Hard Reload" den gesamten Cache oder nur Teile, die für die aktuelle Site relevant sind?
- 25. Versuchen, den PowerPC 750-Datencache zu leeren
- 26. Fbconnect gibt weißen leeren Bildschirm bei IOS
- 27. Gibt es eine Möglichkeit, den Zugriffshierarchie-Cache zu leeren/zu aktualisieren
- 28. Refresh Firebase iOS SDK-Cache sofort
- 29. Segmentierungsfehler (Core Dumped) Fehler beim Versuch, Cache zu leeren
- 30. Xamarin iOS löschen Cache von WKWebView
'[myCache removeAllObjects];' sollte es tun. –
Danke für Ihre Antwort. Wie kann ich den Wert für "myCache" deklarieren/erhalten? Danke nochmals –
Sie können es zum Beispiel als jede andere Eigenschaft erklären: '@property (strong) NSCache * myCache' und verwenden fast das gleiche wie' NSMutableDictionary'. Einige Beispiele hier: http://stackoverflow.com/questions/5755902/how-to-use-nscache –