Android复习笔记--Activity

#Activity注册

Android四大组件(Activity,Service,Broadcast Receiver, Content Provider)都需要在AndroidManifest中注册

<activity

android:name=".FirstActivity"

android:label="This is FirstActivity" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

#Activity生命活动状态

1.运行状态:前台运行,处于返回栈栈顶,系统不会回收

2.暂停状态:不处于栈顶,但是仍然可见,内存低时被回收

3.停止状态:后台运行,保存相应的状态和成员变量,可能被系统回收

4.销毁状态:从返回栈中移除,最有可能会被系统回收

#Activity、Fragment的生命周期

Image Image(1)

#保存数据

onSaveInsanceState()方法携带Bundle类型的参数,Bundle提供了putString()等方法保存数据,一般在onPause()中保存数据。

protected void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

String tempData = "Something you just typed";

outState.putString("data_key", tempData);

}

#活动的启动模式


##standar:默认的启动模式,每次启动都会创建新的实例放到栈顶。

Image(2)

##singleTop:如果返回栈栈顶已经是该活动,则直接启动。

android:launchMode="singleTop"

Image(3)

##singleTask:如果返回栈中存在该活动,则把该活动之上的活动全部出栈。

                         会在新的任务中创建活动,但当把两个不同app的两个不同activity设置同一taskAffinity,他们会出现在同一任务中。

会调用Acitivity的onRestart()方法

Image(4)

##singleInstance:创建任务时会创建新的返回栈,启动的时候会调用onNewIntent()方法。

Image(5)

原文地址:https://www.cnblogs.com/bincoding/p/5414487.html