hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.15k stars 614 forks source link

不知道算不算bug,parseState的loading回调不成功, #32

Closed ppg408331701 closed 4 years ago

ppg408331701 commented 4 years ago

sueecss和error能打印出来,但是laoding打印不出来

            data.observe(viewLifecycleOwner, Observer {resultState->
                parseState(resultState, {

                    LogUtils.e("sueecss")
                },{
                    LogUtils.e("error")
                },{
                    LogUtils.e("laoding")
                })
            })
ppg408331701 commented 4 years ago

我用demo也试了一下,一样打印不出来

把run{ this } 换成 invoke()就可以

hegaojian commented 4 years ago

是的,这里当时写的时候没注意,后面也没怎么用到过到这个方法,这个bug一直没发现,感谢你的反馈

ppg408331701 commented 4 years ago

最近发现一个小问题,在lazyLoadData加载数据,有时候数据回来得太快的时候会出现 fragment跳转动画和渲染ui同时进行,出现些微的小卡顿。在先读取缓存再读取网络的长列表页尤其明显。

看了一些网上的方案,似乎可以用postDelayed延迟lazyLoadData方法,使fragment动画完成后再加载数据

你觉得这个方案怎么样?是否有风险?

hegaojian commented 4 years ago

我觉得这个优化方案可以的,风险的话目前没想到啥风险,可以加一波 :blush: