मैं SharedPreferences
अपने एंड्रॉइड ऐप में उपयोग कर रहा हूं । मैं साझा प्राथमिकता से दोनों commit()
और apply()
विधि का उपयोग कर रहा हूं । जब मैं AVD 2.3 का उपयोग करता हूं तो यह कोई त्रुटि नहीं दिखाता है, लेकिन जब मैं AVD 2.1 में कोड चलाता हूं, तो apply()
विधि त्रुटि दिखाती है।
तो इन दोनों में क्या अंतर है? और केवल commit()
उपयोग करने से मैं बिना किसी समस्या के वरीयता मूल्य स्टोर कर सकता हूं?
apply()
जीतता है। इसलिए, आप सुरक्षित रूप से apply()
बदले में उपयोग कर सकते हैं commit()
यदि आप यह सुनिश्चित करते हैं कि केवल एक SharedPreferences.Editor आपके एप्लिकेशन द्वारा उपयोग किया जा रहा है।
commit()
?
apply()
डिस्क I / O होगा जबकिcommit()
तुल्यकालिक है। इसलिए आपको वास्तवcommit()
में UI थ्रेड से कॉल नहीं करना चाहिए ।