1.actiivty生命周期
2.android四种启动模式
actiivty生命周期
oncreate()->onstart()->onResume()->onRestart()->onPouse()->onStop()->onDestory()
上面图概括了android生命周期的各个环节,描述了activity从生成到销毁的过程。
onCreate(): 创建
打开新的actiivty的时候会先执行activity的onCreate方法,执行此生命周期会调用setContentLayout()方法来初始化当前布局,此生命周期执行完毕之后布局也初始化完毕,注:在这里做大量逻辑处理会影响界面的加载速度。
onstart():开始
oncreate执行完毕之后会进入此生命周期,当前actiivty处于可见但不可交互状态,可以在此生命周期里面做数据的初始化等等。
onResume():刷新
执行完onstart之后会进入该生命周期,当前状态可见并且可交互。
onPouse():暂停
此actiivty跳转到其他actiivty的时候,当前actiivty会进入此生命周期。
onStop():停止
执行完onpouse之后会立马进入该生命周期,此时activity对用户是不可见的,在系统内存紧张的情况下,有可能会被系统进行回收。所以一般在当前方法可做资源回收。
onDestory():销毁
onStop()方法完成之后,此时activity进入到onDestory()方法中,结束当前activity。
onRestart()
onRestart()方法在用户按下home()之后,再次进入到当前activity的时候调用。调用顺序onPouse()->onStop()->onRestart()->onStart()->onResume().
2.android四种启动模式
想要理解启动模式首先脑子里面要有栈的概念,类似一个盒子,其中A-F每一个字母都可以理解成一个activity,这个盒子里装着所有的activity最新创建的为A,在栈的最下面。
1. Standard 标准模式:如果没有给该activity设置启动模式的话,默认就是Standard,该模式每次打开activity的时候不管栈内有没有该activity的实例都会重复去创建
会被重复打开的activity不建议使用。
2. SingleTop 栈顶复用模式:分两种处理情况:须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity。不会再创建新的Activity;若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样。