您的位置:首页 > 移动开发 > Android开发

Android学习笔记四大组件之Activity

2016-05-25 15:58 483 查看
Activity是Android系统的核心组件之一,是由Android系统进行管理和维护的。

【如何创建Activity】
1. 继承:必须继承自android.app.Activity类
2. 注册:在AndroidManifest.xml文件中,在<application>节点下,使用<activity>节点声明,并通过android:name属性指定Java类
注意:该类必须存在无参数的构造方法。
【Activity的定位】
显示界面,响应用户在界面上的操作。
【激活Activity】
调用Activity类定义的startActivity(Intent)即可,其中,参数Intent对象可以直接通过构造方法创建,创建时,应该在构造方法中指定2个参数,例如:Intent intent = new Intent(MainActivity.this, SecondActivity.class);
【销毁Activity】
调用Activity类定义的finish()方法即可销毁Activity。
【销毁当前应用程序中所有已经打开的Activity】
使用一个List<Activity>用于存储已经激活的Activity:在每个Activity的onCreate()中,都将自身对象添加到集合中;在每个Activity的onDestroy()中,都将自身对象从集合中移除。
当需要销毁所有Activity时,遍历该集合,依次调用每个Activity对象的finish()方法

Activity的生命周期
Activity的生命周期对应着一系列的方法,这些方法会在特定的情景下被自动执行(由系统调用),这些方法也称之为生命周期方法。
主要的生命周期方法有:
onCreate() -> 当创建时
onStart() -> 当开始时
onRestart() -> 当重新开始时
onResume() -> 当继续时
onPause() -> 当暂停时
onStop() -> 当停止时
onDestroy() -> 当销毁时

当第1次激活Activity时:onCreate() -> onStart() -> onResume()
当Activity不可见时:onPause() -> onStop()
当Activity从不可见恢复为可见时:onRestart() -> onStart() -> onResume()
当退出Activity时:onPause() -> onStop() -> onDestroy()

学习生命周期的意义:把正确的代码重写在正确的方法中。
Activity的状态
运行态:即Activity正在运行,且处于前台,可见并可控
暂停态:Activity局部可见,但不可控,通常是因为被其它的非全屏的Activity遮挡导致的
停止态:Activity被置于后台,不可见也不可控,例如返回桌面,或激活了其它Activity,都会导致当前Activity处于停止态
终止态:Activity已经销毁
任务栈
也叫作“回退栈”,用于记录了激活的每一个Activity。
任务栈是一种栈结构,向栈内添加数据的操作,称之为“压栈”,从栈内取出数据的操作,称之为“弹栈”。
任务栈是一种先进后出,后进先出的栈。
Activity的启动模式
在注册Activity时,为<activity>节点配置android:launchMode属性,即可配置其启动模式。该属性的取值有:
1. standard
标准模式,默认值,每次激活Activity时都会创建新的对象
2. singleTop
栈顶唯一,即当Activity处于栈顶位置时,不可以激活新的Activity,反之,当Activity没有处于栈顶位置时,每次激活仍然会创建新的对象
3. singleTask
任务栈内唯一,即当栈内没有该Activity的对象时,激活会创建新的对象,当栈内已经存在该Activity的对象时,激活并不会创建新的对象,为保证该Activity能够获得栈顶位置,原来在该Activity之上的其它Activity将全部被强制出栈。
4. singleInstance
实例唯一,即该Activity只会存在1个实例(对象),在该对象没有被销毁之前,决不可能创建出第2个实例。
被配置为singleInstance的Activity将独占1个任务栈,即该任务栈中有且仅有1个Activity
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息