如果在另一个进程中编辑,sharedPreferences将不会更新

时间:2016-06-12 10:56:32

标签: java android unity3d process

我有一个团结活动,它在另一个进程中启动而不是我的应用程序:

  <activity
        android:name=".UnityActivity"
        android:process=":UnityKillsMe"/>

我保存SharedPreferences加密this question(以防这会影响我的问题但我不知道)。

现在,如果我想在process=":UnityKillsMe"中修改sharedPreference,则mainProcess中的编辑无法访问,只需要SharedPreferences的旧版本。直到我杀死mainProcess并再次启动应用程序。如果我没有删除mainProcess并修改SharedPreferences,则在process=":UnityKillsMe"中对其进行编辑时,编辑内容将被覆盖并丢失。

如何刷新主进程中的SharedPreferences

1 个答案:

答案 0 :(得分:1)

Android中SharedPreferences的当前实现不是过程安全的。

来自docs

  

注意:目前此类不支持跨多个使用   流程。这将在稍后添加。

问题是你真的在你的应用程序中需要多个进程吗?

如果您真的这样做,我建议您查看Tray,或者考虑其他形式的持久存储,例如数据库。

同时查看this answer