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=