venerdì 25 novembre 2016

Cache di un'immagine

Quando creiamo un programma con delle immagini, senza che ce ne accorgiamo, al momento di visualizzare le immagini il nostro programma deve scompattarle dal formato utilizza (JPG, PNG, GIF, ecc.) e trasformarle in un dato pronto all'uso per lo schermo.
L'immagine scompattata pronta all'uso viene messa nella memoria cache.
Possiamo impostare la dimensione della memoria di cache con le immagini impostando la proprietà ImageCacheLimit. Il valore preimpostato per i sistemi mobili (Android, iOS) è 64Mb, mentre per i computer è 254Mb.
Se la cache si riempie, i dati più vecchi vengono cancellati per far spazio ai nuovi. Svuotare e riempire la cache rallenta il programma, quindi per avere delle prestazioni migliori, se usate tante immagini, valutate quanto vi serve grande la cache.
Per sapere quanto è piena la cache potete leggere la proprietà imageCacheUsage, che restituisce il valore in bit. Ad esempio 268435456 è 256Mb (basta dividere 1'048'576 per ottenere il valore in MegaByte).
Se volete che sia subito decompattata nella cache all'apertura della card, potete impostare la proprietà alwaysBuffer su true. Anche qui fate attenzione a non esagerare.
Se un qualunque momento volete forzare delle immagine a essere caricate nella cache, potete usare il comando prepare image.