简单说下实现过程:
首先写个接口,比如JsonReaderable,里面定义一个方法readFromJson(JsonReader reader) 让你想要被反序列化的对象pojo实现这个接口,比如这样应该不用解释吧,都能看懂。
这种情况虽然比较少见,但在一些erp啊,sap项目中经常会遇到(别问Stay怎么知道)如果你也见过Android上500M的数据库,那这些心得你都能自己领悟到了。
现在我们在App中基本采取的都是分页,一般来说不需要用JsonReader,但如果Json数据超过10K以上,pojo的复杂度特别高,并且还有嵌套时,也应该考虑使用。
你也许会问,500M,即使用JsonReader读流生成对象了,内存也装不下呀。没事,你可以通过ormapping型数据库框架来存数据,比如说读200个对象存一次,清一次。或者你可以用接口回调的方式扔给外层处理,onPartialDataBinding(ArrayList list)
其实这个扩展其他第三方框架也没什么问题,只要思路有了,实现起来也就很容易了。
框架最好是根据App具体的需求以及使用场景来定制,仅会调用哪些开源lib,看不懂,改不了,这样只能让自己在技术路上越走越窄。
就写到这里,别问Stay要代码哈,只讲思维与解决方案。