2024年安卓面试题 Activity 相关面试题(持续更新 从简单到难)

1.Activity的生命周期

解: onCreate onStart onResume onPause onRestart onStop onDestroy 


2.Activity A 启动另一个Activity B 会调用哪些方法?

如果B是透明主题的又或则是个DialogActivity呢?

解: A: onPause B onCreate onStart  onResume  A: onStop

透明主题的 或者DialogActivity  A不调用 onStop


3.说下onSaveInstanceState()方法的作用 ? 何时会被调用?

1.当用户按下HOME键时。
这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,因此系统会调用onSaveInstanceState(),让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则
2.长按HOME键,选择运行其他的程序时。
3.按下电源按键(关闭屏幕显示)时。
4.从 activity A 中启动一个新的 activity 时。
5.屏幕方向切换时,例如从竖屏切换到横屏时。
 


   

4.Activity的启动模式和使用场景   四种启动模式

1.standard(标准模式)
每次启动一个Activity实例时,都会创建一个新的实例。系统会在每次调用startActivity()时创建新的实例。

使用场景:用于普通的activity

2.singleTop(栈顶复用模式)
singleTop也就是栈顶复用模式。就是说如果当前这个Activity实例处于栈顶的话,那么就直接复用这个activity,否则就创建实例。

(复用时调用onNewIntent,onResume方法,不再执行onCreate)

使用场景:登录页面、WXPayEntryActivity、WXEntryActivity 、推送通知栏

3.singleTask(栈内单例模式)
singleTask也就是栈内复用模式。该模式下的Activity在栈内只能有一个实例,如果在栈内的话就复用该activity,且把它上边的activity从栈内移除,让该activity处于栈顶。不在栈内的话就新建。

(复用时调用onNewIntent&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值