全面解析Activity(一): Activity的生命周期

本文详细解析了Android中的Activity生命周期,包括各个生命周期方法的含义和作用,如onCreate(), onStart(), onResume(), onPause(), onStop()和onDestroy()。阐述了Activity在启动、暂停、恢复和销毁过程中的行为,并探讨了设备旋转如何影响Activity的生命周期。此外,还介绍了如何在onSaveInstanceState(Bundle)中保存数据以应对Activity的意外销毁。" 119983436,8343528,解决Windows 10预览体验计划显示空白问题,"['windows', 'win10 预览体验计划空白', '解决预览体验计划空白']
摘要由CSDN通过智能技术生成

Activity是整个Android app直接与用户交互的核心组件。作为四大组件中出现频率最高的组件,我们在Android的各个地方都能看到它的影子。Activity中文直接翻译为"活动",其实翻译成"界面"更好理解。正常情况下,除了Window、Dialog和Toast,我们能看到的界面的确只有Activity。

深入了解Activity的工作模式、生命周期与管理模式,是了解Android系统的基础,也是开发过程中必备的基本技能。

一.生命周期

谷歌给了我们一张图来表示Activity的生命周期,他希望Activity能被开发者所控制,而不是一匹脱缰的野马。下图是最经典的,也是我们最常见的:

这里写图片描述

(一)生命周期中各个方法的含义和作用

(1)onCreate():create表示创建,这是Activity生命周期的第一个方法,也是我们在android开发中接触的最多的生命周期方法.它本身的作用是进行Activity的一些初始化工作,比如使用setContentView加载布局,对一些控件和变量进行初始化等.但也有很多人将很多与初始化无关的代码放在这,其实这是不规范的.此时Activity还在后台。不可见,所以动画不应该在这里初始化,因为看不到……

(2)onStart():start表示启动,这是Activity生命周期的第二个方法.此时Activity已经可见了,但是还没出现在前台,我们还看不到,无法与Activity交互。其实将Activity的初始化工作放在这也没有什么问题,放在onCreate中是由于官方推荐的以及我们开发的习惯。

(3)onResume():resume表示继续、重新开始,这名字和它的职责也相同。此时Activity经过前两个阶段的初始化已经蓄势待发。Activity在这个阶段已经出现在前台并且可见了。这个阶段可以打开独占设备。

(4)onPause():pause表示暂停,当Activity要跳到另一个Activity或应用正常退出时都会执行这个方法。此时Activity在前台并可见,我们可以进行一些轻量级的存储数据和去初始化的工作,不能太耗时,因为在跳转Activity时只有当一个Activity执行完了onPause方法后另一个Activity才会启动,而且android中指定如果onPause在500ms即0.5秒内没有执行完毕的话就会强制关闭Activity。从生命周期图中发现可以在这快速重启,但这种情况其实很罕见,比如用户切到下一个Activity的途中按back键快速得切回来。

(5)onStop():stop表示停止,此时Activity已经不可见了,但是Activity对象还在内存中,没有被销毁。这个阶段的主要工作也是做一些资源的回收工作。

(6)onDestroy():destroy表示毁灭,这个阶段Activity被销毁,不可见,我们可以将还没释放的资源释放,以及进行一些回收工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值