Android面试题:四大组件

本文详细解答了Android面试中关于四大组件的问题,包括Activity与Fragment的通信方式、LaunchMode的特点与应用场景、BroadcastReceiver与LocalBroadcastReceiver的区别、Context的理解、IntentFilter的匹配机制以及startService与bindService的差异。此外,还探讨了ContentProvider的数据共享实现、横竖屏切换时Activity的生命周期变化、onNewIntent的调用时机和Intent数据传输的限制及解决方案。
摘要由CSDN通过智能技术生成

1、Activity 与 Fragment 之间常见的几种通信方式

答:1.使用Bundle:在activity中建一个bundle,把要传的值存入bundle,然后通过fragment的setArguments(bundle)传到fragment,在fragment中,用getArguments接收。这个方法能保证在 fragment 销毁重建后依然能获取到传递过来的数据。
2.采用接口回调的方式。
3.EventBus。

2.谈谈 Android 中几种 LaunchMode 的特点和应用场景?

答:LaunchMode 有4种。

1、standard:Activity默认的启动模式。每次启动一个activity,就会创建一个实例,并置于栈顶。

2、singleTop:如果任务栈栈顶有该activity实例,就复用该实例,并调用onNewIntent(),如果没有就创建新的实例并入栈到栈顶。一般会将推送消息展示的activity指定为singTop,以便复用。

3、singleTask:如果任务栈中存在该activity实例,则直接使用该实例,将它置于栈顶,而它之上的其他activity纷纷出栈。如果不存在,则创建新的实例。一般会将具有程序入口等启动页面的activity指定为singleTask,这样可以避免在启动页退出的时候因存在多个实例而需要反复点击才能退出应用的问题。

4、singleInstance:系统将创建一个独立的任务栈来专门储存与管理该activity(该activity具有全局唯一性,这个任务栈只有这一个activity),这样返回时&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值