Android面试题第一节

问:以下关于Activity的生命周期,顺序正确的是____
类型:单选
A,onStart,onCreate,onResume,onPause,onStop,onDestroy
B,onCreate,onStart,onResume,onPause,onStop,onDestroy
C,onCreate,onResume,onPause,onStop,onDestroy
D,onCreate,onRestart,onStart,onResume,onPause,onStop,onDestroy
答案:B


问:Activity的状态包含____,____,____,____
类型:填空
答案:运行中,暂停,停止,销毁提示:

问:Activity在运行前会执行哪些?
类型:多选
A,onPause()
B,onStart()
C,onCreate()
D,onResume()
E,onRestart()
答案:BCD
 

问:Activity从停止状态到恢复状态,需要调用____
类型:单选
A,onPause(),onResume()
B,onRestart(),onStart(),onResume()
C,onResume()
D,onNewIntent(),onResume()
答案:B
 

问:内存紧张,用户点击了Home键或者用户按下电源键关闭屏幕时,这时系统可能会去销毁Activity,这时____方法就会被调用
类型:填空
答案:onSaveInstanceState提示:

问:onRestoreInstanceState方法调用的前提是____,在Activity被再次创建时它会在____方法之后被调用
类型:对比
答案:Activity必须是被系统销毁了,onStart提示:

问:当我们再次回到原Activity,会依次回调____,____,____
类型:完填
答案:onRestart,onStart,onResume提示:null

问:在____里不能做耗时操作,因为如果要启动一个新的Activity,新的Activity必须要在前一个Activity的(同上)方法____之后才会启动的新的Activity
类型:填空
答案:onPause,执行完毕

问:安卓的启动模式有____,____,____,____
类型:填空
答案:standard,singletop,singletask,singleInstance提示:

问:通过____模式创建的activity,Android会为它创建一个新的实例,并将该实例放到当前Task栈中,并不会生成新的Task栈
类型:单选
A,singletask
B,singletop
C,standard
D,singleInstance
答案:C
 

问:standard模式的特点有哪些?
类型:多选
A,不会重新生成一个Task栈
B,可以创建同一个activity的多个实例,并且多个activity的生命周期按照正常的执行
C,新创建的activity的实例被放入到Task栈的栈顶。
D,当旧activity仍然在task栈内,但不在栈顶时(不在前台了),会依次执行旧activity的onPause() =>【新activity的onCreate(),onStart(),onResume() (新activity在前台了) 】=> 旧activityonStop(),onDestroy()
E,如果将要启动的activity已经存在,但没有位于Task栈的栈顶,系统将会将位于该activity上面的所有activity移出Task栈,从而使目标activity转入栈顶
答案:ABC
提示:旧的Activity不会执行onDestroy;singleTask模式下,系统将会将位于该activity上面的所有activity移出Task栈

问:singleTop模式与standard模式的区别是____
类型:单选
A,standard不会生成task栈,但singleTop会
B,singleTop只会存在一个activity实例
C,在singleTop模式下,当将要启动的目标activity已经位于Task栈顶时,系统不会重新创建目标activity的实例,而是直接复用已有的activity实例
D,在singleTop模式下,如果将要启动的activity已经存在,但没有位于Task栈的栈顶,系统将会将位于该activity上面的所有activity移出Task栈,从而使目标activity转入栈顶
答案:C
提示:当该activity不位于Task栈的栈顶时,singleTop会再次为该activity创建一个新的实例放入栈顶;singleTask将会将位于该activity上面的所有activity移出Task栈

问:以下关于singleInstance 和 singleTask 的描述正确的是____
类型:单选
A,当A,B,C均设为singleInstance时,启动顺序A->B->C->A,B和C销毁了
B,当A,B,C均设为singleTask时,启动顺序A->B->C->A,B和C销毁了
C,singleTask和singleInsance模式下,Activity有且只能有唯一实例
D,采用singleTask 模式加载的activity所在的Task可以包括多个Activity
答案:B
提示:在singInstance模式时,回退是 A->C->B->结束;把底层的A移到栈的上方;singleTask模式的Activity可以有多个task,因此有多个实例;采用SingleTask模式时,activity能够保证在同一个Task中只有一个实例

问:切换横竖屏时 Activity的生命周期变化是____
类型:单选
A,onSaveInstanceState--> onPause--> onStop--> onRestart--> onStart--> onRestoreInstanceState--> onResume
B,onPause--> onStop--> onDestroy--> onCreate--> onStart--> onResume
C,onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume
D,onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume
答案:D

更多题库与更好的体验请往微信小程序《记忆辅助大师》进行答题
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值