java - 使用 Intent 在 Activity 之间传递自定义对象

标签 java android inheritance android-intent parcelable

我想知道创建一个继承自 Intent 类并重载 putExtra 方法的类是否有意义,允许传递自定义对象,而不是使用 Parcelable。 这是明智之举吗?是不是比传递包裹慢很多?

我希望这个过程非常快,将对象保留在内存中,根据我的理解,包裹使用序列化。

最佳答案

这是一个有趣的问题。 Intent 是一个通用数据包装器,除其他功能外,它还允许您在进程之间传输数据,这就是为什么您需要可打包中的数据形式。 事实上, Intent 本身是可打包的,要实现一个适当的子类,您需要打包所有添加的字段,并且基本上将以相同的 Intent 类结束,只是有一些公开的字段。 这里有一个Intent的子类供引用:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/content/pm/LabeledIntent.java

所以我不建议您采用这种方法。如果您想要在不同组件之间发送数据的替代方法,我建议您使用 EventBus 的概念并创建类似 https://lorentzos.com/rxjava-as-event-bus-the-right-way-10a36bdd49ba 的内容。

关于java - 使用 Intent 在 Activity 之间传递自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44884570/

相关文章:

java - 似乎无法让 Reegex 匹配

java - 检查是否在android中启用了GPS

android - 如何接收语音(通话中)流类型的音量变化事件?

c++ - 继承和 C++ 的奇怪行为

inheritance - Jasmine + 测试继承的方法已被调用

java - 使用 MongoDB 更新数组

java - 查看Session、Application和Request Bean的内容

java - Servlet 3.0 中错误页面的编程配置

java - onBackPressed 未立即调用 - id 0 没有键盘 - Android

c++ - TS Concepts 类型名约束