假设您要开始一个新的 Activity 并将当前 Activity 中的一些数据传递给它。如果数据是原始类型,则可以简单地使用意图并添加其他功能,但是对于数组列表或对象等更复杂的数据结构,您将如何处理呢?

最佳答案

您有几种选择:

  • 您可以将更复杂的结构包装在实现Parcelable接口(interface)的类中,该接口(interface)可以存储在额外的
  • 您可以将更复杂的结构包装在实现Serializable接口(interface)的类中,该接口(interface)可以存储在额外的
  • 您可以使用静态数据成员来传递内容,因为它们都在同一个进程中
  • 您使用外部存储(文件,数据库,SharedPreferences)
  • 正如刚刚发布的人所述,请使用通用组件,例如自定义Application或本地Service

  • 您不想要做的是通过附加项传递大笔费用。例如,如果您正在创建一个应用程序,可以从相机上获取图片,则您不希望传递这些图片,请使用静态数据成员(听起来很棘手)。意图被设计为跨进程工作,这意味着正在进行大量数据复制,当不需要大数据时,您要避免这种情况。

    10-08 17:43