PlayAndroid
PlayAndroid copied to clipboard
🔥🔥🔥 Kotlin + MVVM + LCE版玩安卓,暗黑模式、横竖屏、无网、弱网、无数据、加载失败等等各种情况,协程、Room、Hilt、DataStore、LiveData、Retrofit、屏幕适配、本地缓存、多语言切换、多 lib,你想要的我都有...
复现:断网情况下,在首页点击搜索图标 (必现) 手机型号:华为Mate 30 Pro android版本:10 日志 2022-07-29 16:57:17.376 7663-7776/com.zj.play E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1 Process: com.zj.play, PID: 7663

1. 所有的viewModel都在一个Activity的ViewModelStoreOwner中,那么当一个页面销毁了,此页面对应的viewModel也应该销毁,否则所有页面的viewModel都一直保留在一个Activity中内存占用应该不小吧。请问用过的viewModel应该什么时候销毁呢? 2. 有时候页面需要监听自己这个页面的onResume,onPause等生命周期,没找到compose的页面有对应的生命周期回调。 3. 大多数情况下一个稍微复杂的页面首次构建布局绘制至少大几十ms,由于Activity的windows动画与ui布局是在不同线程,所以感觉不到动画卡顿,但是View的动画和布局是在同一个线程,那么页面的首次进入动画就会明显卡顿(fragment切换过程中由loading状态到显示内容,如果恰好在做动画,一般都会卡顿),这个NavigatorController也会有这个问题吧。 单Activity架构确实写着比较方便,但是这几个问题一直没找到解决方法。
在项目页面,旋转屏幕后,tab会回到第一个,列表会回到顶部,不能保持之前的状态

我在登录时发现,如果是发生异常,整个程序会闪退. 在viewmodel中onCleared() 没有做相应取消操作。 异步任务不会随之界面消失而取消,而会继续执行。
还有database 在每个Repository都这样初始化调用真的好么
fragment的功能都在在viewcreated中调用 initdata 不考虑那种 showhide 用户第一进入加载的场景么 就是refreshData?
HomePage 和 ArticleListPage 中 LcePage 和 ArticleListPaging 都会调用 LoadingContent,首次加载时能看到两次加载动画。首页 tab 的两次动画在不同位置(因为上面有 Banner),项目、公众号 tab 的两次动画在同一位置,导致像卡顿的效果
手机屏幕小的,搜索框会被挡住  