我想知道创建一个继承自 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/