gpt4 book ai didi

android - 在 android 中存储不可序列化对象实例的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 04:34:10 24 4
gpt4 key购买 nike

我有一个继承自 BroadcastReceiver 的类,并且必须监听 PHONE_STATE 事件。在 onReceive 方法内部,我需要一个必须始终完全相同的对象实例(至少在状态振铃和下一次出现 ide/offhook 之间)。这意味着我需要将对象存储在某个地方。它不能被序列化,也不能以任何方式存储在数据库或 SharedPreferences 中。

我想到了两种不同的方法:

  1. 使用静态变量。缺点:没人知道 android 会在什么时候删除它。
  2. 使用服务。缺点:服务需要在第一次调用时启动,然后绑定(bind)。这是一个异步调用,我可能不得不等待一个不确定的时间。仅使用一项服务来存储一个对象似乎也是错误的。

还有其他更好的想法吗?

最佳答案

不知道它是否适用于您的情况,但我通常将对象的字符串表示形式存储在 SharedPreferences 中。您可以覆盖 toString() 方法,这将创建字符串表示,并实现 parse() 方法,该方法将解析保存的字符串并根据其初始化对象保存的状态。希望这会有所帮助。

关于android - 在 android 中存储不可序列化对象实例的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171815/

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