key=0初始化时,不知道是获取逻辑有bug还是room操作没有控制并发,网络请求存取缓存并发顺序不对,导致缓存永远先get后save,response永远为空

来源:5-9 paging框架不为人知的高端玩法【彩蛋】

慕仙6068316

2022-01-07

key=0初始化时,网络请求存取缓存并发顺序不对,导致缓存永远先get后save,response永远为空
degug发现虽然先执行try里面网络获取的内容再执行withchche的子线程
但是在debug时发现room里是先执行的get,再执行的chche

写回答

1回答

LovelyChubby

2022-01-07

你的意思是说网络请求,比本地读缓存还要快是吗?

如果是这样那可以加个网络请求已完成的标记位,缓存加载成功判断下网络请求是否已经提前完成了。

如果你说的是读缓存一直为null,这是不对的,因为网络请求成功之后会save,下一次启动App也是能读到缓存的,此时可以跟进下save方法,是不是你的bean对象没实现serializeable接口呢

0
0

开发商业级热门短视频App 掌握Jetpack组件库

Jetpack架构大揭秘,全组件实战主流且功能完整的短视频App

1364 学习 · 607 问题

查看课程