刚来北京一周,总共面试有5家,由于自己的准备不够充分(我虽然4月份辞职了,现在是5月份,由于自己的计划的失误,四月份我是打游戏,看股票过去的),android的面试都不尽如意,尽展自己的水平的业余(本人的android开发水平确实不够专业),接下来几篇文章,就把这些零碎知识点一 一整理出来
1、Activity启动模式,以及那些模式适应的场景
Activity有四种启动模式standard模式(默认模式)、singleTop模式、singleTask模式、singleInstance模式
standard模式
每次通过这种模式加载目标Activity时,都会创建一个新的Activity实例,并将他加入新的Task,他不会启动新的Task
singleTop模式
这种模式与默认模式差不多,只有当启动的目标Activity已经位于栈顶时,系统不会重新创建目标activity实例,而是直接复用栈顶activity
singleTask模式
这种模式稍微复杂些分三种情况
1)当目标activity不存在,系统会创建一个activity,将它置于栈顶
2)如果目标activity已经位于Task栈顶,此时与singleTop模式一样
3)如果要启动的目标activity已经存在,但不位于栈顶,系统会将目标activity上面的所有activity移除TASK栈,从而使目标Activity处于栈顶
singleInstance模式
1)要启动的activity不存在,系统先创建一个新栈再创建一个activity,并将它加入全新的栈顶
2)如果目标activity已经存在,系统会将该activity所在的activity所在的Task转到前台,从而使该activity显示出来
如果你想测试下,this.getTaskId();