Глядя на Документы SharedPreferences, он говорит:
"Примечание: в настоящее время этот класс не поддержка поддержки нескольких процессов. Это будет добавлено позже.
Таким образом, сам по себе он не является Thread Safe. Однако какие гарантии предоставляются в отношении commit() и apply()?
Например:
synchronized(uniqueIdLock){
uniqueId = sharedPreferences.getInt("UNIQUE_INCREMENTING_ID", 0);
uniqueId++;
sharedPreferences.edit().putInt("UNIQUE_INCREMENTING_ID", uniqueId).commit();
}
Будет ли гарантировано, что uniqueId всегда был уникальным в этом случае?
Если нет, есть ли лучший способ отслеживать уникальный идентификатор для сохраняемого приложения?