Android-Activity详解

本文详细探讨了Android的Activity,从Activity的概念、生命周期的各个阶段,如onCreate()、onStart()、onResume()等,到Activity栈的管理,启动模式,以及进程优先级。还涉及scheme跳转协议、异常处理、Activity状态保存和恢复,以及横竖屏切换时Activity生命周期的变化。了解这些,有助于更好地管理和控制Android应用的用户体验。
摘要由CSDN通过智能技术生成

 

Activity是什么

Activity是四大组件之一,它提供一个界面让用户点击和各种滑动操作,这就是Activity。

Activity生命周期

「onCreate()」:你必须实现此回调,它会在系统创建你的 Activity 时触发。你的实现应该初始化Activity的基本组件。

「onStart()」:此回调包含 Activity 进入前台与用户进行互动之前的最后准备工作。到了这一步用户可见不可交互。

「onResume()」:此时,该Activity位于Activity堆栈的顶部,并会捕获所有用户输入。应用的大部分核心功能都是在onResume()方法中实现的。到了这一步用户可见可交互。

「onPause()」:当用户点按"返回"或"最近使用的应用"按钮时,Activity失去焦点并进入"已暂停"状态时,系统就会调用onPause()。到这一步用户可见不可交互。系统会停止动画等消耗CPU的操作。

「onStop()」:到了这一步用户不可见。停止动画和刷新UI等。

「onRestart()」:当处于"onStop()"状态的Activity即将重启时,系统就会调用此回调。onRestart()会从Activity停止时的状态恢复Activity至运行状态。

「onDestroy()」:这是Activity最后一个方法。可以用isFinishing()来判断它,如果有dialog在运转,要在这个界面将dialog给cancel掉,不然抛异常。

Activity主要的四种状态

「Running」(运行):在屏幕前台(位于当前任务堆栈的顶部)

「Paused」(暂停):失去焦点但仍然对用户可见(覆盖Activity可能是透明或未完全遮挡)

「Stopped」(停止):完全被另一个Activity覆盖

「Destroyed」(销毁):退出,完全销毁

Activity栈(先进后出)

多个Activity运行时,Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。

启动Activity

「1.简单启动」

在AndroidManifest.xml中声明

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.scc.demo">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值