Activity的使用总结 (一)

本文详细介绍了Android中Activity的生命周期,包括正常情况和异常情况下的生命周期变化,重点讨论了onPause、onSaveInstance、onRestoreInstanceState和onConfigurationChanged等关键方法。此外,文章还阐述了Activity的四种启动模式:standard、singleTop、singleTask和singleInstance,以及如何通过清单文件和Intent设置启动模式。最后,提到了任务栈的概念,包括TaskAffinity和如何通过adb命令进行任务栈分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activity的使用总结 (一)

正常情况下的生命周期:

  1. A界面开启B界面所走的方法: A onPause–> B onCreate–> B onStart–> B onResume
    –>A onstop 旧activity先onPause,然后新activity再启动
  2. onPause里面不能做一些耗时操作,因为必须是onPause执行完,新activity的onResume才会执行,等到新activity的onResume完全执行完毕,新的界面才能显示
  3. 正常情况下,释放资源的工作是放在onDestory里面,但是可能会存在内存泄露,onDestory没有立即执行,所以资源的释放 应该放在onstop里面,在onstop里面做一个act.isFinishing()的判断,这样就能保证每次页面关闭的时候都会立即释放资源(onPause里面不能做一些耗时操作)

异常情况下act的生命周期:

异常的情况分成2种:

  1. 资源相关的资源配置发生改变导致act被杀死然后在重新创建(例如:旋转屏幕)
  2. 内存不足导致低优先级的act被杀死然后在重建
  • 系统配置发生改变以后,activity会销毁,其onPause,onStop,onDestory均会被调用,由于activity是在异常情况下终止的,系统会调用onSaveInstance来保存当前activity状态,这个方法的调用时机是在onStop之前,与onPause没有既定的时序关系。当activity重新创建后,系统会调用onRestoreInstanceState,并且把activity销毁时onSaveInstanceState方法保存的Bundle对象作为参数同时传递给onRestoreInstanceState和onCreate方法。onRestoreInstanceState()在onStart()方法后回调。
  • 销毁流程:
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值