假设您要开始一个新活动并将当前活动中的一些数据传递给它。如果数据是原始类型,则可以简单地使用意图并添加其他内容,但是对于数组列表或对象等更复杂的数据结构,您将如何处理呢?
2 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
您有几种选择:
您可以将更复杂的结构包装在实现该
Parcelable
接口的类中,该接口可以存储在一个额外的接口中。您可以将更复杂的结构包装在实现该
Serializable
接口的类中,该接口可以存储在一个额外的接口中。您使用静态数据成员来传递内容,因为它们都在同一过程中
您使用外部存储(文件,数据库,
SharedPreferences
)正如刚发布的人所述,请使用通用组件,例如自定义
Application
或本地Service
您不想要做的是通过附加项传递大笔费用。例如,如果您正在创建一个应用程序,可以从相机上获取图片,则您不希望将这些图片传递给其他人-使用静态数据成员(听起来很棘手)。意图被设计为跨进程工作,这意味着正在进行大量数据复制,如果不需要大数据,则需要避免这种情况。
鸿蒙传说
TA贡献1865条经验 获得超7个赞
我知道的一种选择是将您正在使用的数据存储在Application对象中,您的所有活动都可以从上下文中检索到。
我也听说过使用Google Protocol Buffer实现更高性能的解决方案
- 2 回答
- 0 关注
- 420 浏览
添加回答
举报
0/150
提交
取消