gpt4 book ai didi

android - 同一应用程序的两个进程之间的共享首选项

转载 作者:IT老高 更新时间:2023-10-28 22:20:56 26 4
gpt4 key购买 nike

我正在编写一个包含 UI 和运行的单独进程的 Android 应用程序。我想在主进程和在我的应用程序中定义的在不同进程中执行的服务之间共享简单信息。为此,我发现使用 AIDL 进行进程间通信很麻烦。

问题是:使用应用程序的 Shared Preferences 在这两个进程之间进行通信是否安全?这是:读取和写入相同的共享首选项。

我想知道它是否真的有效。在关于共享首选项的 android 开发人员引用 (http://developer.android.com/reference/android/content/SharedPreferences.html) 中,他们声明: 注意:目前此类不支持跨多个进程使用。这将在稍后添加。但我不知道这是什么意思。

感谢您的帮助

最佳答案

在 Android < 2.3 中它可以工作。一个进程可以写入更改,而另一个进程可以读取更改。读取/写入共享首选项文件的代码(它们实际上存储在文件中)检查在读取/写入之前是否对文件进行了任何更改,并相应地更新其缓存版本。

在 Android > 2.3 中它可以工作,但您需要在调用 getSharedPreferences() 时专门设置 MODE_MULTI_PROCESS

在 Android 2.3 中它已损坏并且无法正常工作:-(

请注意 MODE_MULTI_PROCESSAPI Level 23 (Android M) 中已弃用.

关于android - 同一应用程序的两个进程之间的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12125214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com