四大组件之Activity(活动)小结

2017-01-14 08:47:53来源:CSDN作者:merrily01人点击

后续想出几个涉及Activity的相关小demo,

先来做个小结吧~


一、活动是什么、怎么用?


    Activity(活动)作为Android四大组件(活动、广播、内容提供器、服务)之一,是一种主要用于与用户交互,可以包含用户界面的组件。一个应用可以不包含或包含多个活动。

创建方法:

1.AndroidStudio自动创建;

2.手动创建

①创建Activity

②创建layout布局

③加载布局

在onCreate()方法中,通过setContentView(),给当前活动加载布局。

④在AndroidMainfest中注册并配置

手动创建的活动需要在AndroidMainfest.xml文件中注册:

<activity

     android:name="指定具体注册的活动"

     android:label="指定活动标题栏"

     android:launchMode = "启动模式" >

     <intent-filter>

         <action android:name="" />

         <category android:name="" />

     </intent-filter>

</activity>

注意<activity>标签要放在<application>内,<activity>标签内部加入<intent-filter>标签(过滤器),其中又包含<action/>和<category/>,用于指定启动应用程序Intent对象的动作和类型。


二、Activity(活动)的生命周期


返回栈(Back Stack):

Android使用任务管理活动,一个任务就是一组存放在栈里的活动的集合,这个栈也称为返回栈(Back Stack),活动在栈中遵循后入先出原则。

活动的四种状态:

1.运行状态

活动位于栈顶,则处于运行状态。

2.暂停状态

活动不再处于栈顶状态,但仍可见,则该活动为暂停状态。(比如:一个活动运行时弹出对话框的场景。由于对话框不沾满整个屏幕,该活动依然可见,但不处于栈顶,则为暂停状态)

3.停止状态

活动不再处于栈顶,且完全不可见时,则进入停止状态。

4.销毁状态

活动从返回栈中被移除,则变为销毁状态。

活动的7个回调方法:

onCreate()、onStart()、onResume()、onPause()、onStop()、onDestory()、onRestart()

(我比较喜欢3对+1个的记录顺序)

关于回调方法,具体不细说了,附上官方图:

(https://developer.android.com/reference/android/app/Activity.html)


活动的3种生存期:

1.完整生存期:

onCreate()—onDestory()方法之间,为完整生存期。活动一般在onCreate()方法中完成初始化,在onDestory()完成内存释放。

2.可见生存期:

onStart()—onStop()方法之间,为可见生存期。可见生存期内,活动总是可见,即便无法与用户交互。

3.前台生存期:

onResume()—onPause()方法之间,为前台生存期。活动总处于运行状态,可与用户进行交互。


三、活动的4中启动模式


活动的启动模式,可在AndroidMainfest.xml活动的注册代码中(<activity>标签内、<intent-filter>同级),进行声明。(可参考上文注册处代码)

语句为: android:launchMode = "启动模式"

1.standard

活动的默认启动方式,不显示指定启动模式的情况下,活动自动使用standard启动模式。

特点:采用standard启动模式的活动,没启动一个新的活动,便会进入返回栈,并处于栈顶位置。系统不会判断返回栈中是否已经存在该活动,每次启动都会创建该活动的一个新的实例。

2.singleTop

特点:当活动代用singleTop启动模式时,若发现栈顶存在该活动,则直接使用,不再创建新的实例。但如果栈顶不是该活动,则仍会重新创建实例。

3.singleTask

特点:相较于singleTop模式,singleTask更完善。指定为singleTask启动模式时,每次启动活动,都会在检查返回栈中是否包含该活动,若已存在则直接使用该实例,若不存在则创建新的活动实例。

4.singleInstance

特点:为解决共享活动实例问题。采用singleInstance启动模式的活动,启动时会启动一个新的单独的返回栈来管理这个活动(区别于应用程序自己的返回栈)。多个应用程序访问这个活动时,公用这同一个返回栈。


Activity相关知识,主干点的就整理这些了。当然除此之外,还有活动中使用Toast、活动中使用Menu、销毁活动、活动间Intent的用法等,在日常使用中会经常涉及,也要学着留意总结~


长按.识别.关

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台