mia app, che utilizza ARC, fa il seguente:Ridurre la memoria di UIImages dalla fotocamera utilizzando strumenti
- Caricati una foto scattata con la fotocamera
- comprime il quadro per l'uso come una miniatura.
- Lo faccio utilizzando [UIImage imageWithData: UIImageJPEGRepresentation (originale, 0.1f)]
- ho impostato il quadro di riferimento non compresso a zero per ARC per liberare la memoria
Ripetendo questa sequenza significherà che molti compresso le miniature sono sullo schermo. Dopo circa 7 o 8 foto, l'app si blocca a causa della poca memoria.
In Strumenti, sto tentando di utilizzare le allocazioni in tandem con Memory Monitor per trovare la fonte del mio problema.
Alcune statistiche Strumenti:
Allocazione - diretta Bytes salti di circa 2 MB dopo aver scattato una foto, ma poi va giù da 1.5 MB, dopo di riferimento immagine originale è impostato a zero. Sembra essere una buona cosa, ma ...
Ecco uno stato finale dell'applicazione. #Living sembra essere molto elevato rispetto ai Byte Live, giusto?
Live Bytes #Living #Transitory Overall #Overall Bytes
3.72 MB 24538 80679 90.1 MB 105301
Memory Monitor (monitoraggio testa di ispezione) - La mia applicazione si avvia a 7,5 MB e prendendo uno dei risultati di immagine in quanto un incremento del ~ 13 MB. Per lo stato che ho elencato sopra, Memory Monitor dice che l'app occupa 72,67 MB di "Real Memory" e 123,79 MB di memoria virtuale.
Dato che i Byte Live sono molto piccoli, so che sto facendo qualcosa come . Tuttavia, dato che l'impronta di memoria in altri luoghi è grande, sono anche sicuro che sto facendo qualcosa di molto sbagliato. Qualche idea su cosa potrebbe essere o su come rintracciarlo?
+1 per una buona domanda. Come stai caricando le tue immagini da visualizzare sullo schermo? Stai usando '[UIImage imageNamed:]'? – Rog
Ha detto che usa la fotocamera. –
Qual è lo scopo di questa linea? [UIImage imageWithData: UIImageJPEGRepresentation (original, 0.1f)] Stai comprimendo l'immagine e quindi la decomponi immediatamente. Il risultato è solo uno spreco di qualità dell'immagine e tempo CPU. –