其中包含了View的状态, 如果有Fragment, 也会包含Fragment的状态, 其实质是保存了FragmentManagerState, 内容类似于如下: Bundle[{android:viewHierarchyState=Bundle[{android:views={16908290=android.view.AbsSavedState$1@bc382e7,2131492950=CompoundButton.SavedState{4034f96 checked=true},2131492951=android.view.Abs...
其中包含了View的状态, 如果有Fragment, 也会包含Fragment的状态, 其实质是保存了FragmentManagerState, 内容类似于如下: Bundle[{android:viewHierarchyState=Bundle[{android:views={16908290=android.view.AbsSavedState$1@bc382e7,2131492950=CompoundButton.SavedState{4034f96 checked=true},2131492951=android.view.Abs...
我们知道,Fragment的生命周期依赖于Activity,当横竖屏切换时候Activity进行了重建,同时会查看关联该Activity的所有Fragment是否需要重建,若是则进行重建。 第一次显示Fragment后,横竖屏切换导致Activity重建,此时也会重建Fragment,而在Activity.onCreate()里又新建了Fragment,因此此时Activity里关联了2个Fragment。 核心点在于红...
Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。 Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。 Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来...
用户主动finish()掉的activity不会调用onSaveInstanceState(), 包括主动按back退出的情况. 新建的activity, 从onCreate()开始, 不会调用onRestoreInstanceState(). Activity中还需要手动恢复什么 如上, 系统已经为我们恢复了activity中的各种view和fragment, 那么我们自己需要保存和恢复一些什么呢?
Android开发中Activity和Fragment是非常重要的两个知识点,这里我们就分别归纳一下,在使用Activity和Fragment时需要注意的一些事项,特别是对于Fragment,在对其进行管理时我们要选择好的一些方式。 一、Activity要点 Activity负责展示UI给用户,负责和用户的交互操作。本部分主要对Activity的生命周期、如何保存状态信息、如何讲一...
classVMFragment:Fragment(){@VMScope("Lucas")lateinitvarvm:ViewModel1overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)injectViewModel()// vm.test()"page:${this::class.java.simpleName},vm:${vm}".p()}overridefunonCreateView(inflater:LayoutInflater,container:ViewGroup...
initView() } 那么便可在Activity的整个生命周期之内和多个Fragment共享资源 原理 ViewModel的生命周期依赖于对应的Activity或Fragment的生命周期。通常会在Activity第一次onCreate()时创建ViewModel,ViewModel的生命周期一直持续到Activity最终销毁或Frament最终detached,期间由于屏幕旋转等配置变化引起的Activity销毁重建并不会导...
步骤1:Activity的布局文件 activcity_2_fragment.xml 代码语言:javascript 复制 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text" android:...
它带来的好处是改进了对fragment z-ordering的处理。 这个是他们使用是例子,这意味着两个fragment之前的退出和进入过渡不会互相重叠。 使用FragmentContainerView将先开启退出动画然后才是进入动画。 简单看来这些个知识,就可以照着开干了。网上很多入门文章,大部分都是来自或者说翻译自官方文档: ...