本文主要是介绍Arouter-withSerializable传值失败源码解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在开头
最近有点忙!!!顺应时代的要求,我们App在开发了两年多后终于要开始架构整改了,老项目模块化与组件化的拆分构成,如果你经历过你懂得。
至于模块化和组件化的好处和模块化和组件化如何开展我就不多说了,网上一大推优秀的博客够我们看了嘿嘿。
这篇主要写下我在项目中使用Arouter的withSerializable传递对象时总是失败问题的一些理解,一个小坑吧,喜欢看一下就看一下喽!!!
问题剖析
大家看官网可以知道,ARouter在传递对象的时候需要实现SerializationService接口进行对象的序列化和反序列化,当我使用withObject传递对象的时候,使用@Autowired注解获取参数值的时候是正确的,但是如果使用withSerializable方法传递对象,使用@Autowired注解获取到的值始终为空,经过一番探索,又发现直接使用getIntent的方式就可以获取到值了,作为一名程序员,这简直不能忍了,这是为什么呢?
SerializationService是干啥的?
首先我们应该先闹懂SerializationService是干啥的?官网给出的解析是用来进行对象的序列化和反序列化,那么它是在哪里用的呢?又用来干什么的?让我们看下withObject的源码:
/**
这篇关于Arouter-withSerializable传值失败源码解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!