史上最全的2022年最新版Android安卓面试题集锦(含答案+源码)

这篇博客整理了2022年Android面试的最新题集,涵盖四大组件、Service类型、LaunchMode应用场景、后台服务、JobScheduler、WorkManager、Service保活策略、线程UI更新、Activity与Dialog等相关知识点,旨在帮助开发者复习和提升技能,为面试做好准备。
摘要由CSDN通过智能技术生成

在这里插入图片描述
金三银四,又到了一年一度的黄金跳槽季,想必也许有不少Android程序员开始摩拳擦掌,蠢蠢欲动了。而网络上的面试题大部分已经过时甚至是错误成堆,漏洞百出,今天结合自己这段时间的面试经验和几个Android技术群里面大厂大牛的交流总结出了这篇2022年最新的Android面试题合集。那么,废话不多说,让我们马上进入正题。

前言

首先要声明的是:面试题的目的不是为了让大家背题,而是从不同维度帮助大家复习,取长补短。让我们正式进入正题:

面试题汇总

1.Android四大组件:Activity、Service、BroadcastReceiver、ContentProvider。它们的作用分别是:

Activity—>配合View展示界面
Service—>长时间在后台运行不与用户直接交互
BroadcastReceiver—>接收广播
ContentProvider—>提供数据给其他模块使用

2.Activity 有几种 launch mode?每一种有什么特点?

1.standard(默认的启动模式)
当我们发送一个intent启动该Activity后,该Activity总是被创建一个新的实例。
2.singleTop(栈顶复用)
如果要启动 Activity 存在于任务栈中,并且位于任务栈的顶部,就不会创建新的 Activity 实例,而是会调用 该 Activity 的 onNewIntent() 方法, 避免栈顶的 Activity 被重复的创建。 如果被调用的Activity的实例已经存在但不位于栈顶,那这个被调用的activity依然会被创建。
3.singleTask (栈内复用)
Activity 只会在任务栈里面存在一个实例。如果要启动的 Activity 在任务栈 Task 中已经存在,就不会创建新的 Activity 实例,而是复用这个已经存在的 Activity,调用 onNewIntent() 方法,并且清空这个 Activity 任务栈之上所有的其他 Activity
4.singleInstance (单一实例模式)
设置了该模式的 Activity 只能位于一个单独的任务栈中,不能在有其他 Activity , 其他任何从该 Activity 启动的其他 Activity 都会放到其他的任务栈中。

3.Service 有几种类型?各有什么应用场景?

方法 启动方式 停止方式 与启动的组件通信方法 生命周期
startService 在其他组件中调用startService()方法后,服务即处于启动状态 service中调用stopSelf()方法,或者其他组件调用stopService()方法后,service将停止运行 没有提供默认的通信方式,启动service后该service就处于独立运行状态 一旦启动,service即可在后台无限期运行,即使启动service的组件已被销毁也不受其影响,直到其被停止
bindService 在其他组件中调用bindService()方法后,服务即处于启动状态 所有与service绑定的组件都被销毁,或者它们都调用了unbindService()方法后,service将停止运行 可以通过 ServiceConnection进行通信,组件可以与service进行交互、发送请求、获取结果,甚至是利用IPC跨进程执行这些操作 当所有与其绑定的组件都取消绑定(可能是组件被销毁也有可能是其调用了unbindService()方法)后,service将停止

4.LaunchMode 的应用场景?

LaunchMode 有四种,分别为 Standard,SingleTop,SingleTask 和 SingleInstance,每种模式的实现原理一楼都做了较详细说明,下面说一下具体使用场景:

  • Standard:
    Standard 模式是系统默认的启动模式,一般我们 app中大部分页面都是由该模式的页面构成的,比较常见的场景是:社交应用中,点击查看用户A信息->查看用户A粉丝->在粉丝中挑选查看用户B信息->查看用户A粉丝…这种情况下一般我们需要保留用户操作 Activity 栈的页面所有执行顺序。
  • SingleTop:
    SingleTop 模式一般常见于社交应用中的通知栏行为功能,例如:App 用户收到几条好友请求的推送消息,需要用户点击推送通知进入到请求者个人信息页,将信息页设置为 SingleTop 模式就可以增强复用性。
  • SingleTask:
    SingleTask 模式一般用作应用的首页,例如浏览器主页,用户可能从多个应用启动浏览器,但主界面仅仅启动一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面
  • 26
    点赞
  • 253
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值