Activity重要知识总结

本文详细解析了Android Activity的生命周期管理及其不同启动模式的实现与应用,包括完整周期、可见周期和前台周期的流程,以及如何合理保存和恢复活动状态,同时深入探讨了标准、单顶层、单任务和单实例四种启动模式的特点与使用场景。

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

一.Activity的生命周期
1.意义:管理好Activity的生命周期有利于开发更灵活的应用
2.内容:
这里写图片描述
①完整周期:onCreate()方法和onDestroy()方法之间。在onCreate()方法中初始化,在onDestroy()方法中释放内存
②可见周期:onStart()方法和onStop()方法之间。可合理管理那些对用户可见的资源,在onStart()方法中加载,在onStop()方法中释放,从而保证处于停止状态的活动不会占用过多内存。
③前台周期:onResume()方法和onPause()方法之间。过渡,代码轻量级。在onPause()内保存数据持久化
3.保存活动状态和恢复
onSaveInstanceState(Bundle outState)方法:保证一定在活动被回收前调用,用于保存临时数据。
onCreate(Bundle savedInstanceState)/onRestoreInstanceState():用于恢复数据
这里写图片描述

二.Activity的启动模式
①standard:默认
②singleTop:解决了重复创建栈顶活动的问题 在onNewIntent(Intent intent)方法中接受Intent
③singleTask:系统会创建一个任务栈,在新任务栈中实例化此Activity。 实现让某个活动在整个应用程序的上下文中只存在一个实例 在onNewIntent(Intent intent)方法中接受Intent
④singleInstance:与 “singleTask”相同,除了这个新任务栈只能容纳唯一一个该活动的实例. 解决了共享活动实例的问题
这里写图片描述
注意:singleTask 活动添加到BackStack.当该活动已经处于一个后台任务栈中,整个任务栈均添加到当前任务栈中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值