Gestione della memoria in esaurimento

Se la memoria disponibile su uno smartphone BlackBerry scende al di sotto della soglia necessaria allo smartphone per funzionare correttamente, il gestore di memoria in esaurimento tenta di rendere disponibile una maggior quantità di memoria. Il gestore di memoria in esaurimento assegna la priorità agli oggetti in memoria e contrassegna gli oggetti meno importanti per l'eliminazione da parte di BlackBerry Java Virtual Machine. I messaggi letti e le voci del calendario più vecchie vengono in genere eliminati per primi.

L'API Low Memory Manager è implementata in net.rim.device.api.lowmemory.

Progettare l'applicazione in modo che interagisca con il gestore di memoria in esaurimento, al fine di rendere disponibile la maggior quantità di memoria possibile quando le risorse di memoria dello smartphone stanno per esaurirsi. A tal fine, implementare l'interfaccia LowMemoryListener e registrarla nell'API Low Memory Manager richiamando il metodo LowMemoryManager.addLowMemoryListener() statico.

L'interfaccia LowMemoryListener prevede un unico metodo, freeStaleObject(), che viene richiamato dal gestore di memoria in esaurimento quando deve rendere disponibile una maggiore quantità di memoria. Quando richiama l'oggetto freeStaleObject(), il gestore di memoria in esaurimento passa un parametro di priorità per indicare che sta per avviare una richiesta di ripristino di memoria ad alta, media o bassa priorità. Prestare attenzione perché deve essere restituito il valore true da freeStaleObject() se sono state liberate delle risorse e il valore false in caso contrario. Si tratta di un'operazione importante, perché il gestore di memoria in esaurimento necessita di un conteggio accurato del processo di avanzamento nella liberazione della memoria.

Individuazione della condizione di memoria in esaurimento

Le condizioni seguenti possono indurre il gestore di memoria in esaurimento a tentare di liberare le risorse di memoria:

  • La quantità di memoria disponibile nello smartphone scende al di sotto di una determinata soglia. La soglia dipende dalla quantità di RAM libera nel sistema. L'intervallo della soglia della memoria è compreso tra 400 KB e 800 KB.
  • Il numero di handle di oggetti permanenti disponibili nello smartphone scende al di sotto di 1000.
  • Il numero di handle di oggetti disponibili nello smartphone scende al di sotto di 1000.
Argomento successivo: Esecuzione del backup dei dati

Le informazioni sono state utili? Inviateci i vostri commenti.