/ / - Problema di prestazioni [sincronizzazione NSUserDefaults] su iOS [duplicato] - iphone, ios, performance, nsuserdefaults

- Problema di prestazioni [NSUserDefaults synchronize] su iOS [duplicato] - iphone, ios, performance, nsuserdefaults

Possibile duplicato:
Sincronizzazione delle best practice per NSUserDefaults

Chiamo -[NSUserDefault setIntegerValue:1 forKey:differentKeys]; circa 50 volte e ogni volta con una chiave diversa, quindi chiama -[NSUserDefault synchronize];

questo avrà un impatto sulle prestazioni? quante volte avrà un impatto sulle prestazioni?

risposte:

3 per risposta № 1

Avrà un piccolo impatto sulle prestazioni. Forse non qualcosa che noti. Tuttavia sarebbe ancora meglio solo chiamare -[NSUserDefaults synchronize]; solo una volta, proprio alla fine di tutte le chiamate dei metodi impostati, poiché salverà quindi tutte le modifiche e poi le archivieranno, anziché dopo ogni singola modifica.


4 per risposta № 2

Pensa a synchronize come comando commit change, quindi se non è necessario chiamarlo ogni volta che si imposta un valore predefinito, non farlo. Se stai apportando molte modifiche a NSUserDefaults contemporaneamente allora probabilmente dovrai solo chiamare synchronize una volta alla fine. Tutto dipende dalle tue esigenze specifiche.

Inoltre, le differenze di prestazioni in questo differiranno anche in base alla quantità di dati archiviati, alla frequenza e alle capacità del dispositivo. Nel complesso, consiglierei di chiamare synchronize più piccolo possibile.