先来做个小结吧~
一、活动是什么、怎么用?
Activity(活动)作为Android四大组件(活动、广播、内容提供器、服务)之一,是一种主要用于与用户交互,可以包含用户界面的组件。一个应用可以不包含或包含多个活动。
创建方法:
1.AndroidStudio自动创建;
2.手动创建
①创建Activity
②创建layout布局
③加载布局
在onCreate()方法中,通过setContentView(),给当前活动加载布局。
④在AndroidMainfest中注册并配置
手动创建的活动需要在AndroidMainfest.xml文件中注册:
注意标签<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活动的注册代码中(标签内、同级),进行声明。(可参考上文注册处代码)
语句为: android:launchMode = "启动模式"
1.standard
活动的默认启动方式,不显示指定启动模式的情况下,活动自动使用standard启动模式。
特点:采用standard启动模式的活动,没启动一个新的活动,便会进入返回栈,并处于栈顶位置。系统不会判断返回栈中是否已经存在该活动,每次启动都会创建该活动的一个新的实例。
2.singleTop
特点:当活动代用singleTop启动模式时,若发现栈顶存在该活动,则直接使用,不再创建新的实例。但如果栈顶不是该活动,则仍会重新创建实例。
3.singleTask
特点:相较于singleTop模式,singleTask更完善。指定为singleTask启动模式时,每次启动活动,都会在检查返回栈中是否包含该活动,若已存在则直接使用该实例,若不存在则创建新的活动实例。
4.singleInstance
特点:为解决共享活动实例问题。采用singleInstance启动模式的活动,启动时会启动一个新的单独的返回栈来管理这个活动(区别于应用程序自己的返回栈)。多个应用程序访问这个活动时,公用这同一个返回栈。
Activity相关知识,主干点的就整理这些了。当然除此之外,还有活动中使用Toast、活动中使用Menu、销毁活动、活动间Intent的用法等,在日常使用中会经常涉及,也要学着留意总结~
欢迎关注【魅力安卓】微信公众号
网友评论