以小弟之见,活动便是一个界面,它有逻辑层和视图层构成,即每一个活动都必须绑定一个界面,每一个活动都有一个生命周期,一个生命周期有七个阶段,分别为onCreate(),onStart(),onResume(),onRestart(),onPause(),onStop(),onDestory(),我们可以把它们理解为一个个函数,即不同阶段,它就会执行不同的函数,前三个函数是在活动从准备到开始执行的,做一些必要的准备工作,如绑定视图,绑定事件等,而后三个是活动不可见的时候启动的,如按home键时会启动onPause(),onStop(),但活动并没有消失,这时我们再次启动活动时,便会触发onRestart(),但我们若按返回键,活动便会触发onPause(),onStop(),onDestory(),这时活动便会销毁掉,这些方法都应该在逻辑层重写,活动还有4种启动模式,standard,singleTop,singleTask,singleInstance.
standard这种是活动默认的启动模式,若用这种模式启动活动,即活动在再次启动时,它不会管活动是否在栈顶,他都会启动一个新的活动实例,这不是十分合理的启动模式,这让我想起有一些游戏,即使你是按了home键退出游戏,但你在活动栏再次找到它时,它仍然是重新开始的- -,但有一些app确实是需要运用到这种模式的.
singleTop启动模式表示,如果活动实例已经在栈顶,则不会启动新的活动实例,会执行原来的实例,已经比前一种好了.
singleTask启动模式就更强了,就是如果栈中若有一个实例,它便会把他销毁,而再创建一个新的实例,感觉很多app都是采用这种活动模式的,因为通常一台手机并不能同时启动2个相同的app.
singleInstance是较为复杂的一种启动模式,它会使活动放到一个新的栈中,至于用途还需要以后更多的学习才行.
至于怎样设置活动的启动模式,只需要改变活动在Manifest中的lanuchMode标签即可
本文详细介绍了Android中Activity的生命周期,包括七个关键阶段及其作用,并深入探讨了四种不同的Activity启动模式:standard、singleTop、singleTask和singleInstance的特点及应用场景。
11万+

被折叠的 条评论
为什么被折叠?



