It appears to me that the SharedPreferences implementation is NOT thread safe.
The implementations of Context.getSharedPreferences() and Editor.commit () do not synchronize on the same monitor. A call to getSharedPreferences() can return a new empty instance if there is a concomitant thread in the process of committing. In this case the getSharedPreferences() call may see the underlying preference file as changed. Should it see the file is changed and subsequently load the file from disk while it is unable to read or reads an invalid (only partially written file), it will fail silently and return a new instance. I see many posts suggesting that it is thread safe, not multi-process safe. But there's no shortage of folk reporting sporadic loss of preferences in a multi-threaded application. Perhaps i'm not correctly reading the source... Does anyone concur? Thanks, Rod --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---