s preferências do @Shared se perdem após o desligamento do dispositivo ou a interrupção do aplicativo

existem muitas perguntas relacionadas a preferências compartilhadas e alternativas. Meu problema: quando eu desligo o dispositivo ou mato o aplicativo, as preferências compartilhadas são perdidas. Observe que meu código está realmente funcionando no Acer A500. Mas no meu Motorola Xoom MZ604 não está funcionando !!

Antes de tudo, tento restaurar meu HashSet no onCreate. Esse método é chamado com certeza e é implementado em um singleto

public boolean restoreCollection(Context context){
    SharedPreferences settings = context.getSharedPreferences(context.getString(R.string.restore_values), 0);
    if(settings.getStringSet(context.getString(R.string.collection), null) != null){
        collection = settings.getStringSet(context.getString(R.string.collection), null);
        return true;
    } 
    collection = new HashSet<String>();
    return false;
}

Ao ligar para Destroy, eu salvo o HashSet. Mesmo que não seja dado, que esse método seja chamado com certeza, as Preferências se perdem em qualquer caso, eu estou tentando salvá-lo no onPause com o mesmo resultad

public void saveCollection(Context context){
    SharedPreferences settings = context.getSharedPreferences(context.getString(R.string.restore_values), 0);
    SharedPreferences.Editor e = settings.edit();
e.putStringSet(context.getString(R.string.collection), collection);
e.commit();
}

Também houve problemas com as Preferências compartilhadas e o dispositivo XOOM ou sou o único? Talvez haja algo suspeito no meu código, mas os dados não se perdem no meu Acer Tablet.

Eu também tentei PreferenceManager.getDefaultSharedPreferences (context) para obter o objeto SharedPreferences

Obrigado pela sua ajuda, Chris

questionAnswers(6)

yourAnswerToTheQuestion