56 Stimmen

SharedPreferences und Thread-Sicherheit

Die Betrachtung der SharedPreferences-Dokumente heißt es:

"Hinweis: Derzeit unterstützt diese Klasse nicht die Verwendung über mehrere Prozesse hinweg. Dies wird später hinzugefügt."

Es scheint also an und für sich nicht thread-sicher zu sein. Welche Art von Garantien werden jedoch in Bezug auf commit() und apply() gegeben?

Zum Beispiel:

synchronized(uniqueIdLock){
   uniqueId = sharedPreferences.getInt("UNIQUE_INCREMENTING_ID", 0);
   uniqueId++;
   sharedPreferences.edit().putInt("UNIQUE_INCREMENTING_ID", uniqueId).commit();
}

Wäre es garantiert, dass die uniqueId in diesem Fall immer eindeutig ist?

Wenn nicht, gibt es eine bessere Möglichkeit, eine eindeutige ID für eine Anwendung zu speichern, die bestehen bleibt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X