在两个流程之间共享信息 - 最安全的方式是什么?

时间:2015-06-10 18:52:30

标签: android process sharedpreferences android-broadcast

我有一个包含两个流程的应用 - MainActivity和背景Service。我在两者中都需要相同的信息,这些信息来自我的服务器(JSON响应)。 我从这两个进程加载了这个JSON,但是由于这个JSON可能会变大,所以加载两次效率非常低。

分享此信息的最安全或最佳做法是什么?

  • 将JSON从MainActivity广播并复制到Service - 我认为这是一种安全的做法,我的广播不会迷路
  • 使用SharedPreferences在本地存储,并且都使用{" local" JSON直到应用程序关闭。根据{{​​3}} SharedPreferences,可以在流程之间正常工作。

非常感谢任何其他建议/推荐。

提前致谢!

1 个答案:

答案 0 :(得分:1)

最常见的方式是发送广播,也应该避免使用单例,有关更多信息,请参阅此链接

Android and RESTful services

最好看看Event Bus

正如文件所说:

  

简化了组件之间的通信

     
      
  • 解耦事件发件人和收件人
  •   
  • 适用于活动,片段和后台主题
  •   
  • 避免复杂且容易出错的依赖关系和生命周期问题
  •