Sto utilizzando GCD per ottenere notifiche sulla pressione della memoria.Come rispondere alle notifiche di pressione della memoria da GCD?
GCD documentation descrive alcune costanti in questo modo:
DISPATCH_MEMORYPRESSURE_WARN
La condizione di pressione memoria di sistema è in fase di avviso. Le app dovrebbero rilasciare memoria di cui non hanno bisogno in questo momento.
DISPATCH_MEMORYPRESSURE_CRITICAL
La memoria di sistema condizione di pressione è in fase critica. Le app dovrebbero rilasciare più memoria possibile.
Sembra logico che io debba liberare memoria inutilizzata. Tuttavia, in altri luoghi (man pages e source code) Trovo questa nota relativo a questi costanti:
pressione della memoria elevata è una condizione a livello di sistema che le applicazioni registrati per questa fonte dovrebbero reagire a cambiando il loro futuro memoria usare il comportamento, ad es riducendo le dimensioni della cache delle operazioni appena avviate fino a quando la pressione della memoria ritorna normale.
Tuttavia, le applicazioni dovrebbero NON attraversare e scartare cache esistenti per operazioni passate quando la pressione della memoria tem sistema sistema entra uno stato elevato, in quanto è probabile che innescare operazioni di VM che sarà ulteriormente ulteriormente ther aggravare la pressione della memoria di sistema.
Questo mi confonde. Quindi dovrei liberare memoria, o dovrei semplicemente smettere di allocare nuova memoria?