使用Intent

时间:2017-07-03 11:37:59

标签: java android inheritance android-intent parcelable

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

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

1 个答案:

答案 0 :(得分:1)

这是一个有趣的问题。 Intent 是一个通用数据包装器,在其他功能中,允许您在进程之间传输数据,这就是您需要 parcelable 中的数据的原因形成。 实际上意图本身是可以分类的,并且为了实现一个合适的子类,你需要包含所有添加的字段,你基本上会以相同的意图类结束,只需要几个暴露的字段。 以下是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

的内容