1、什么是Activity?
Activity是用户和应用程序之间进行交互的接口,它提供了一个界面供用户进行各种点击、触摸、滑动等操作,
这个界面就是Activity;
2、Acitivity常见的四种状态是什么?具体表现?
第一种:活动状态(runnning), Activity处于活动状态时,用户可以进行点击、滑动等操作,屏幕会根据用户操作做出相
应,Activity此时处于栈顶状态;
第二种:暂停状态(paused),Activity处于暂停状态时,Activity暂时失去焦点,失去与用户交互的能力,成员变量和状
态信息还存在;
第三种:停止状态(stopped),Activity处于停止状态时,Activity被其他Activity完全覆盖,成员变量和状态是否被回收
取决于内存是否紧张;
第四种: 被回收状态(killed);Activity处于被回收的状态时,Activity所保存的成员变量和状态信息都会被回收。
3、Activity生命周期是怎样的?
onCreate()-->onStart()-->onResume()-->onPause()-->onStop()-->onDestory()-->onRestart() ;
创建-->开始-->运行-->暂停-->停止-->销毁-->重启
onCreate : Activity第一次创建时会调用此方法;
onStart : Activity启动时(不可见变为可见)时调用;
onResume : Activity运行时(活动准备好和用户交互/恢复一个活动)调用,运行时位于返回栈栈顶;
onPause:Activity暂停时(准备启动一个活动或恢复另一个活动)调用;
onStop : Activity状态变为完全不可见时调用;
onDestory : Activity被销毁之前调用;
onRestart : Acitivity重启时(Activity由停止状态变为运行状态时)调用;
注意:Activity生命周期的方法是成对出现的:
onCreate() & onDestory() onStart() & onStop() onResume() & onPause()
4、完整生存期、可见生存期、前台生存期有什么区别?
完整生存期:Activity在onCreate()方法与onDestory()方法之间经历的生命周期;
可见生存期:Activity在onStart()方法与onStop()方法之间经历的生命周期;
前台生存期:Activity在onResume()方法与onPause()方法之间经历的生命周期;
5、Activity启动模式
标准模式(Standard):每次启动一个Activity都会创建一个新的实例,每创建一个Activity都会走相应的生命周期;
栈顶复用模式:如果创建的Activity处于栈顶,就不会创建新的实例,会复用栈顶的Activity ;
单例模式(SingleTask):此模式会检测整个任务栈是否存在当前所需要启动的Activity,存在直接置于栈顶,并将这个Activity以上的所有Activity全部删除(销毁),但需要注意,此时会在Activity中回调一个onNewIntent()方法;
SingleInstance : 此模式下,设置次此模式的Activity在整个系统中有且只有一个实例,且这个Activity独享任务栈;
6、Android任务栈
Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动集合,这个栈也称为返回栈;
栈的原则:先进后出,系统总是会显示处于栈顶的活动给用户;
每当我们启动了一个新的活动,它都会返回栈中入栈,并处于栈顶的位置,每当我们按下返回键或者调用finish()方法销
毁一个活动时,处于栈顶扥活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。
7、Activity的两种启动方式
显示启动:startActivity(new Intent(MainActivity.this , TargetActivity.class));
注意:Activity启动时要在Mainfest文件中进行注册
隐式启动:如果Intent没有指定要启动组件的完整类名,那么这个Intent就是隐式的,隐式的Intent只用在当我们想在自己
的App中通过Intent启动另一个App的组件时,让另一个App的组件接收并处理改Intent 。