/ / - [NSUserDefaults synchronize] problème de performances sur iOS [doublon] - iphone, ios, performance, nsuserdefaults

- [NSUserDefaults synchronize] problème de performance sur iOS [dupliquer] - iphone, ios, performance, nsuserdefaults

Duplication possible:
Meilleure pratique pour la synchronisation NSUserDefaults

J'appelle -[NSUserDefault setIntegerValue:1 forKey:differentKeys]; environ 50 fois, et à chaque fois avec une clé différente, puis appeler -[NSUserDefault synchronize];

cela aura-t-il un impact sur les performances? combien de fois cela aura-t-il un impact sur les performances?

Réponses:

3 pour la réponse № 1

Cela aura un petit impact sur les performances. Peut-être pas quelque chose que vous remarquez. Mais il vaudrait toujours mieux appeler -[NSUserDefaults synchronize]; juste une fois, juste à la fin de tous vos appels de méthodes, car il enregistrera ensuite toutes vos modifications dans un fichier, plutôt qu'après chaque modification individuelle.


4 pour la réponse № 2

Penser à synchronize comme une commande commit changes, donc si vous n'avez pas besoin de l'appeler à chaque fois que vous définissez une valeur par défaut, ne le faites pas. Si vous apportez de nombreuses modifications à NSUserDefaults alors vous n'aurez probablement qu'à appeler synchronize une fois à la fin. Tout cela dépend de vos besoins spécifiques.

De plus, les différences de performances varient également en fonction de la quantité de données stockées, de la fréquence et des capacités de l'appareil. Dans l'ensemble, je recommanderais d'appeler synchronize aussi petit que possible.