ฉันกำลังใช้งานSharedPreferences
ในแอพ Android ของฉัน ฉันใช้ทั้งสองcommit()
และapply()
วิธีจากการตั้งค่าที่ใช้ร่วมกัน เมื่อฉันใช้ AVD 2.3 จะไม่แสดงข้อผิดพลาด แต่เมื่อฉันเรียกใช้รหัสใน AVD 2.1 apply()
วิธีจะแสดงข้อผิดพลาด
ดังนั้นความแตกต่างระหว่างสองสิ่งนี้คืออะไร? และโดยใช้เพียงcommit()
ฉันสามารถเก็บค่าการตั้งค่าโดยไม่มีปัญหาใด ๆ ?
apply()
จะชนะ ดังนั้นคุณสามารถใช้งานได้อย่างปลอดภัยapply()
แทนcommit()
หากคุณแน่ใจว่ามีการใช้งาน SharedPreferences เพียงแอปพลิเคชันเดียวเท่านั้น
commit()
หรือไม่?
apply()
จะทำดิสก์ I / O แบบอะซิงโครนัสในขณะที่commit()
ซิงโครนัส ดังนั้นคุณไม่ควรโทรcommit()
จากเธรด UI