Activity、Service和Fragment的生命周期
发表于|更新于
|总字数:77|阅读时长:1分钟|浏览量:
Activity的生命周期
Activity实例是由系统自动创建,并在不同的状态期间回调相应的方法。一个最简单的完整的Activity生命周期会按照如下顺序回调:onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy。
如下图所示:
未完成,施工中
文章作者: 丨小小丶
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!
相关推荐
2021-06-01
Android如何在文本中添加空格
名称 编号 描述     不会被合并的空格,长度与常规空格相同 &ensp   全角空格,长度为半个中文字符 &emsp   全角空格,长度为一个中文字符 \u3000 \u3000 全角空格,长度为一个中文字符

2021-04-16
Kotlin学习-ViewBinding的使用
View Binding是一种功能,允许开发者更容易的编写与视图交互的代码。 一旦在一个模块中启用了View Binding,它就会为该模块中存在的每个XML布局文件生成一个绑定类 如何启用View Binding 在build.gradle的android{}中添加代码 buildFeatures{ viewBinding true } 如何使用View Binding在Activity中使用View Binding private lateinit var binding: ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root)} ...
2021-06-25
getFragmentManager()被弃用的代替方法
getFragmentManager()被弃用的代替方法 当需要管理activity或者fragment中的fragment时使用getChildFragmentManager()。 当需要本身需要与fragment关联的activity交互时使用getParentFragmentManager()。 以下为getParentFragment()方法的注释: Return the FragmentManager for interacting with fragments associated with this fragment’s activity. Note that this will be available slightly before getActivity(), during the time from when the fragment is placed in a FragmentTransaction until it is committed and attached to its activity.If this Fragment is a chil...
2021-09-14
activity在后台被杀死后恢复,fragment空指针导致崩溃的问题
activity在后台被杀死后恢复,fragment空指针导致崩溃的问题 出现原因 在activity被回收后恢复时,activity被重新实例化了,但是附属在该activity中的fragment并没有被销毁,在activity的onSaveInstanceState里会将fragment的状态保存起来,当activity重新创建时,其中的fragment还是之前的,而父activity已经被回收了,此时调用getActivity会返回null导致崩溃。 解决方法 只需要在fragmentactivity被系统回收的时候不保存fragment的状态即可,即重写fragmentactivity的onSaveInstanceState并注释掉super.onSaveInstanceState方法,代码如下: @SuppressLint("MissingSuperCall")@Overrideprotected void onSaveInstanceState(@NotNull Bundle outState) { // super...
2021-06-25
Android Crash问题
Android在API21(Android5.0)以下,crash后会直接退出整个应用,但是在API21(Android5.0)以上系统时,会遵循以下原则重启: 包含service:如果程序crash的时候运行着service,那么系统会重新启动service。 不包含service,但是当前栈中包含两个Activity,A->B,如果B crash,那么系统会重启A。 不包含service,但是当前栈中包含三个Activity,A->B->C,如果C crash,那么系统会重启B,并且A仍然存在,即可以从重启的B back到A。
2021-07-17
实例化ViewModel的简单方法
实例化ViewModel 新建一个ViewModel为MainViewModel,旧的实例化ViewModel方法为 val mainViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactort()).get(MainViewModel::class.java) 新方法需要导入一个fragment-ktx扩展,在dependencies下添加implementation("androidx.fragment:fragment-ktx:$version")即可 在实例化ViewModel时的代码为 val myViewModel by viewModels<MainViewModel>() 创建能在后台被杀死时仍保存数据的ViewModel 在viewModel中添加savedStateHandle参数即可 class MainViewModel(private val savedStateHandler: SavedState...
