一、活动的生命周期(小白)
活动的四个状态:1.运行
2.暂停
3.停止
4.销毁
需要说明的是:暂停态、停止态的区别在哪?(区分度在于是否为用户可见,
同时可见不一定可用)。
活动的七个方法:可以分为三对半
onCreate()、onDestory();创建和销毁
onStart()、onStop();可见不可见
onResume()、onPause();是否处于前台
此处有个问题:可见与是否处于前台的区别在哪呢?
前台是指:正在处于栈顶的活动(能与用户进行交互)
可见:仅仅是指用户能看见与否(初步理解)
二、活动的启动模式(小白)
前提:每个程序都会创建一个activity活动栈。
1.stardard模式:启动该模式下的活动,会创建一个activity实例进栈。
2.singleTop模式:启动该模式下的活动,如果栈顶存在该活动实例,
不创建新实例,否则创建一个实例。
3.singleTask模式:启动该模式下活动,如果栈内存在该活动实例,
该实例上的所有activity全部出栈,否则创建实例。
4.singleInstance模式:启动该模式下活动,会为该活动单独创建一个栈。
此处的问题:4处为什么要单独创建一个栈。
因为有可能会出现多个应用程序共用一个activity,如果不单独传创建一个实例,必然需要在每个应用程序中调用活动的时候创建一个实例,如果采取4做法,避免了创建多个实例。