我想存储一些临时数据。考虑将当前所选对话的id
存储在消息传递应用程序中。
这可能是捆绑式的,单独的,但我希望将其存储在活动生命周期之外的 。这个临时数据应该只是视图中的parceled数据(我只是不希望UI负责存储这些数据)
将此id
存储在内存中会起作用,除非在内存不足时系统关闭应用程序并在用户返回时从磁盘恢复应用程序时无法生存(不确定此技术术语是什么)是)
SharedPreferences
可行,但我不希望数据在重新启动后继续存在。
是否有内置机制(在活动生命周期之外)?
答案 0 :(得分:0)
您可以使用共享偏好设置...
private static final String SHARED_PREFS = "any_name";
SharedPreferences preferences = context.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
preferences.edit().putInt(key, value).apply();
其中key可以是“current_id”,value将是选择整数的ID。您还可以使用putString()方法存储String。
可以轻松访问
SharedPreferences preferences = context.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
preferences.getInt(key, 0);
其中key将再次为“current_id”,如果返回null,则0为默认值。
了解更多Shared Preferences文档。
如果您打算在Activity中使用代码,您可以使用:
SharedPreferences preferences = getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
无需使用上下文。