Qualcuno per caso sa come posso svuotare la memoria cache dell'app iOS che sto sviluppando, nel momento in cui passa allo sfondo (applicationDidEnterBackground)? Ho studiato su NSCache ma non riesco ancora a capire come posso recuperare la cache per rimuoverla/liberarla in pratica?Svuota la cache programmaticamente in iOS
risposta
E 'di questo che stai parlando?
[[NSURLCache sharedURLCache] removeAllCachedResponses];
È inoltre possibile modificare il comportamento della cache delle richieste per memorizzare in modo selettivo le risposte. Se si utilizza lo AFNetworking
per caso, è possibile utilizzare setCacheResponseBlock
. Per esempio. in un progetto l'ho impostato per restituire nil
per tutti i file video e audio di grandi dimensioni. Ma consenti di memorizzare nella cache file di immagini più piccoli.
[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) {
return nil; // Ensures we are not unecessarily caching asset data to Cache.db
}];
Ciao Alfie! Non sono sicuro se questo funzionerà per me. L'unica cosa di cui ho bisogno è di pulire la memoria cache quando l'utente nel suo iPad invia l'app in background. Ad esempio, penso che la password e alcuni dati rimangano sempre in memoria (diversi dal wrapper portachiavi) quindi, per ragioni di sicurezza, quei dati in memoria devono essere rimossi. Quello che non so ancora è come indicare il mio programma in base al codice che ho bisogno di recuperare tutti i dati nella cache e liberarlo. Mi spiego? Grazie mille per il tuo interesse. –
Sì, queste informazioni aggiuntive mi aiutano a capire meglio la tua domanda. Puoi fornirmi alcuni esempi di dati che vuoi "cancellare dalla cache in memoria" e anche perché senti il bisogno di cancellarlo? –
Se si è specificamente interessati alla sicurezza di una password mentre è in memoria, sono quasi certo che non ci sia modo per nessuno di accedere a questi dati dalla memoria (cioè non è necessario cancellarli/non preoccuparsi). Se lo stavi memorizzando in NSUserDefaults, sarebbe un problema. Inoltre, a seconda di dove esiste il riferimento alla password, è possibile impostare tale proprietà su zero dopo lo sfondo. –
- 1. Java keyword sincronizzata svuota la cache?
- 2. Android: Cancellare la cache programmaticamente
- 3. "Svuota cache e hard ricaricamento" svuota l'intera cache o solo parti relative al sito corrente?
- 4. Caricatore di immagini universale - svuota la cache manualmente
- 5. Persistenza di Firebase, svuota la cache di Firebase
- 6. Quando si chiama EntityManager.flush() svuota anche la seconda cache?
- 7. iOS scattare foto programmaticamente
- 8. PresentModalViewController in Storyboard programmaticamente iOS 5
- 9. Con quale frequenza iOS Safari cancella la cache?
- 10. iOS disabilita la tastiera Quicktype programmaticamente su UIWebBrowserView
- 11. Memcache non svuota o cancella la memoria
- 12. Politica cache iOS
- 13. Disegna programmaticamente lo squircle iOS 7
- 14. backbone.js svuota una raccolta
- 15. Svuota un ListView
- 16. iOS: NSMutableAttributedString: come eliminare l'ultimo carattere programmaticamente?
- 17. Richiama programmaticamente le estensioni per app iOS
- 18. Cancellare programmaticamente la selezione in WPF ComboBox
- 19. Aggiorna subito la cache dell'SDK di Firebase iOS
- 20. iOS: Forza UIWebView per ricaricare/impedire la memorizzazione nella cache
- 21. Chrome - Disabilita la cache solo per localhost?
- 22. Qual è la differenza tra una cache innescata e una cache vuota?
- 23. Come generare una forma d'onda audio programmaticamente durante la registrazione di Voice in iOS?
- 24. C'è un modo per attivare e disattivare la connessione wifi programmaticamente in iOS?
- 25. Come verificare se il dispositivo imposta la modalità vibrazione o meno in iOS programmaticamente?
- 26. Svuota la pipeline di istruzioni di Intel Core 2 Duo?
- 27. Impedire iOS QuickLook di generare una cache
- 28. Come aggiungere una "Etichetta personalizzata" a iOS AddressBook programmaticamente?
- 29. Concedere l'accesso a NAB programmaticamente su iOS 7.0 Simulator
- 30. Svuota un file mentre è in uso in linux
'[myCache removeAllObjects];' dovrebbe fare il trucco. –
Grazie per la risposta. Come posso dichiarare/ottenere il valore di "myCache"? Grazie ancora –
È possibile, ad esempio, dichiararlo come qualsiasi altra proprietà: '@property (strong) NSCache * myCache' e utilizzare quasi come' NSMutableDictionary'. Alcuni esempi qui: http://stackoverflow.com/questions/5755902/how-to-use-nscache –