android activity 怎么向dialog 传数据_5 道刁钻的 Activity 生命周期面试题

本文探讨了Activity生命周期的五个关键面试问题,包括不同launchMode下Activity打开的回调顺序,Dialog对生命周期的影响,为什么Activity在onResume后显示,onActivityResult的回调时机,以及在onCreate中死循环是否会引发ANR。深入源码解析,帮助你更好地掌握Activity生命周期。
摘要由CSDN通过智能技术生成

今天我们一起来看五道 Activity 生命周期的面试题,相信看完之后面试官再问到相关的问题,你就能胸有成竹了。

A Activity 打开 B Activity 时都有哪些生命周期回调。

这道题相信很多同学都有遇到过,简单 A.onPause -> B.onCrete -> B.onStart -> B.onResume -> A.onStop . Naive ! 这样回答只是及格,因为仅在 B Activity 的 launchMode 为 standard 或者 B Activity 没有可复用的实例时是这样的。

当 B Activity 的 launchMode 为 singleTop 且 B Activity 已经在栈顶时(一些特殊情况如通知栏点击、连点),此时只有 B 页面自己有生命周期变化: B.onPause -> B.onNewIntent -> B.onResume

当 B Activity 的 launchMode 为 singleInstance ,singleTask 且对应的 B Activity 有可复用的实例时,生命周期回调是这样的: A.onPause -> B.onNewIntent -> B.onRestart -> B.onStart -> B.onResume -> A.onStop -> ( 如果 A 被移出栈的话还有一个 A.onDestory)

把几种情况都回答出来就能加分啦,同时也要做好聊 launchMode 的准备。

弹出 Dialog 对生命周期有什么影响

我们知道,生命周期回调都是 AMS 通过 Binder 通知应用进程调用的;而弹出 Dialog、Toast、PopupWindow 本质上都直接是通过 WindowManager.addView() 显示的(没有经过 AMS),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值