我有一个团结活动,它在另一个进程中启动而不是我的应用程序:
<activity
android:name=".UnityActivity"
android:process=":UnityKillsMe"/>
我保存SharedPreferences
加密this question(以防这会影响我的问题但我不知道)。
现在,如果我想在process=":UnityKillsMe"
中修改sharedPreference,则mainProcess
中的编辑无法访问,只需要SharedPreferences
的旧版本。直到我杀死mainProcess
并再次启动应用程序。如果我没有删除mainProcess
并修改SharedPreferences
,则在process=":UnityKillsMe"
中对其进行编辑时,编辑内容将被覆盖并丢失。
如何刷新主进程中的SharedPreferences
?
答案 0 :(得分:1)
Android中SharedPreferences
的当前实现不是过程安全的。
来自docs:
注意:目前此类不支持跨多个使用 流程。这将在稍后添加。
问题是你真的在你的应用程序中需要多个进程吗?
如果您真的这样做,我建议您查看Tray,或者考虑其他形式的持久存储,例如数据库。
同时查看this answer。