
Android
大胆的果子
这个作者很懒,什么都没留下…
展开
-
ViewModel如何实现手机翻转后仍然能够保存数据
前言 我们使用mvvm框架时,ViewModel常常用来保存我们的数据,这样做的好处在于当Activity因为配置的改变(如常见的屏幕翻转)而重新创建时,我们的放在ViewModel中的数据仍然能够不被销毁。这样做的好处在于我们不必像以前在OnSaveInstanceState中保存可能因为配置改变而被销毁的变量,然后再在OnCreate中恢复数据。 本片文章我将从源码的角度分析一下Android是如何实现ViewModel在配置改变时不被重建的原理。 代码分析 下面是我们常用的创建ViewModel的方法原创 2020-12-03 17:56:35 · 720 阅读 · 0 评论 -
Activity生命周期面试常用问题
本篇文章我将讲解Android有关生命周期的常见面试题,一般常见的问题都可以参考于开发者文档的这个图。 1.A Activity 跳转到 B Activity, 会经历哪些生命周期? 这个问题相信很多人都能轻松的回答,顺序依次为: A.onPause -> B.onCreate -> B.onStart -> B.onResume -> A.onStop; 但是这就是最标准的答案吗?当然不是,在这里我们没有考虑到B的launchMode。 如果B的launchMode为single原创 2020-09-15 22:20:04 · 542 阅读 · 0 评论 -
ViewModel是怎么实现配置发生改变时其里面的数据不会改变?
我们都知道在配置更改期间,Activity或Fragment会进行重建,但ViewModel中的数据去不会丢失,还是会保留上次的数据。那么问题来了这是怎么实现的了? 我们可以先来回忆一下我们是怎么创建ViewModel的: CategoriesViewModel mViewModel = new ViewModelProvider(this).get(CategoriesViewModel.class); 我们一般是 ViewModelProvider来创造的,this可以为Activity和Fragme原创 2020-06-13 22:40:39 · 604 阅读 · 0 评论