我每次向plist寫入任何東西時都使用[[NSUserDefaults standardUserDefaults] synchronize]
。這是過度殺傷力?或者是否有這種不利影響?NSUserDefaults同步的最佳實踐
37
A
回答
51
是的,它可能是矯枉過正,但在一個簡單的應用程序,你會注意到性能受到影響?如果您只是在基本的用戶交互(例如用戶選擇其設置)之後保存,則可能不會。調用更頻繁同步的好處是,如果您的應用程序可能會崩潰並且您保存的信息很重要,否則iOS會定期爲您保存。
+1
感謝您的洞察力。 – 2011-04-10 16:57:53
6
以週期性間隔自動調用的synchronize方法將內存中緩存與用戶的默認數據庫保持同步。
調用它經常可能會導致性能問題,但如果它是一個小的應用程序這不是矯枉過正(如已經提到的),或者如果你真的需要你的plist是最新的,在當前線程所做的更改或應用程序中某些其他線程中所做的更改。
因爲這個方法是每隔一段時間自動調用,如果你想更新用戶默認使用此方法僅如果你不能等待自動同步(例如,如果你的應用程序即將退出)或即使您沒有進行任何更改,磁盤上還有什麼
您可能會注意到的唯一不利影響可能是性能下降可以忽略不計。
相關問題
- 1. cuBLAS同步最佳實踐
- 2. 同步兩個表,最佳實踐
- 3. Web API同步呼叫最佳實踐
- 4. iOS IMAP與MailCore最佳實踐同步
- 5. 數據庫同步 - 最佳實踐
- 6. 異步Webrequest最佳實踐
- 7. 關於同步性/異步性假設的最佳實踐
- 8. 多步驟流程的最佳實踐
- 9. Laravel異步請求的最佳實踐
- 10. JPA/Hibernate實體類和同步的最佳實踐是什麼?
- 11. 同步兩個不同系統用戶的最佳實踐表
- 12. Java - 網絡 - 最佳實踐 - 混合同步/異步命令
- 13. 最佳實踐
- 14. 最佳實踐
- 15. 最佳實踐
- 16. 最佳實踐:
- 17. 最佳實踐
- 18. 最佳實踐
- 19. 最佳實踐
- 20. 最佳實踐
- 21. 最佳實踐
- 22. 最佳實踐
- 23. 最佳實踐
- 24. 最佳實踐
- 25. 最佳實踐
- 26. 最佳實踐
- 27. 最佳實踐
- 28. 最佳實踐
- 29. 最佳實踐
- 30. 最佳實踐
我很確定它在程序「感覺」喜歡它時自動刷新它。我知道它有點模糊,但它有效。您應該考慮查看NSUserDefaultsController。 – alexy13 2011-04-08 21:19:22