View体系之四大组件——Activity

本文深入探讨了Android中Activity的四种启动模式(launchMode)及其生命周期。当用户按下Home键、从最近应用列表返回、关闭屏幕、启动新Activity或设备横竖屏切换时,Activity如何响应并经历不同的状态变化。了解这些对于优化应用的用户体验至关重要。
摘要由CSDN通过智能技术生成
View体系之四大组件——Activity
首先在讲解Activity之前,我们先提出几个问题,之后一一解答。
(1)Activity的作用是什么?
(2)对Activity中的各个生命周期的理解
(3)对Activity的启动模式的理解
(4)区别Activity和AppcompatActivity
(5)理解Fragment以及其生命周期
(6)关于finish方法的理解
(7)常见场景Activity的生命周期分析
好了,现在开始我们的正题。

一、Activity生命周期
        Activity是Android提供的四大组件之一,通常用于为用户呈现界面。(解决问题(1))
        1、Activity的生命状态
             如下图 1:

图  1


        很多人对Activity中生命周期方法和生命周期状态有一定的误解,这里我们首先要把这个概念搞明白。
生命周期方法依次是:onCreate()-->onStart()-->onResume()-->onPause()-->onnStop()-->onStop()
生命周期状态为:created-->started-->resumed-->paused-->stoped--desptoryed
那么你可能要问了,他们之间有什么关系呢?
其实从图1中你也可以看出来,比如说一个Activity在执行完生命周期方法onCreate()方法后则进入created状态。


        Activity的状态从持续时间长短上分为瞬态和静态两种。那么哪些属于静态,哪些又属于瞬态?
瞬态:created,started,destoryed,Activity到达某一个瞬态后会立即执行后面的方法,进入其他状态。
静态:resumed,paused,stoped,根据实际场景,Activity可能会停留这某一个静态
        原因是,在生命周期的方法中,会依次执行onCreate()、onStart(),onResume(),执行完onResume()方法后,此时Activity可见并可获得焦点,处于resumed状态。
 而如果被其他Activity遮挡但是仍然可见,则会执行onPause()进入paused状态,如果此时跳转到另一个Activity后,则会执行onPause()、onStop()方法处于stoped状态。
如果退出应用,那么此时Activity执行onDestory()执行销毁。具体可以参考下图  2:
Activity对应的状态有如下:

图  2
2、生命周期具体分析


生命周期方法
说明
onCreate()
在这一方法中,会创建Activity的实例,此时调用finish()方法会立即执行onDestory()
onStart()
此时Activity已经可见但是无法获得焦点
onResume()
此时可见有焦点
onPause()
可见但是无焦点
onStop()
此时无焦点也不可见,通常考虑在这里释放资源
onDestory()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值