Android面试题
文章平均质量分 79
怪兽2014
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
dp与px转换原理
面试题专栏会持续更新欢迎关注订阅在Android开发中,dp(密度无关像素)和px(物理像素)的转换是屏幕适配的核心基础。理解它们的转换机制能有效解决多设备适配问题。原创 2025-10-29 17:55:00 · 416 阅读 · 0 评论 -
Android动画有哪几种?它们的特点和区别是什么?
特性视图动画帧动画属性动画作用对象仅View仅Drawable任意对象属性修改仅视觉效果图片切换真实修改属性值动画连续性平滑过渡离散帧平滑过渡内存消耗低高(需预加载图)中等复杂度支持简单变换简单序列复杂交互动画推荐使用场景兼容旧设备的简单动画小型循环动画现代应用复杂交互实战建议简单效果(如渐变/平移)用视图动画节省资源复杂交互(如拖拽反馈、曲线运动)必用属性动画帧动画慎用,优先考虑Lottie实现矢量动画。原创 2025-10-29 17:54:27 · 669 阅读 · 0 评论 -
自定义ViewGroup实现要点
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-29 17:53:51 · 327 阅读 · 0 评论 -
Android下解决滑动冲突的常见思路是什么?
面试题专栏会持续更新欢迎关注订阅滑动冲突是嵌套滑动组件(如ViewPager+RecyclerView、ScrollView+ListView等)开发中的典型问题,核心解决思路是通过精准控制事件传递流程。原创 2025-10-28 14:58:06 · 740 阅读 · 0 评论 -
Android的事件分发机制
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-28 14:49:47 · 718 阅读 · 0 评论 -
谈谈自定义LayoutManager的流程
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-28 14:49:15 · 264 阅读 · 0 评论 -
Android View, SurfaceView, GLSurfaceView 的区别
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-23 17:53:34 · 293 阅读 · 0 评论 -
谈一谈ViewDragHelper的工作原理?
面试题专栏会持续更新欢迎关注订阅ViewDragHelper是Android Support库中处理View拖动和边界交互的工具类,它能大幅简化手势拖动逻辑(如侧滑关闭页面)。原创 2025-10-23 17:52:52 · 371 阅读 · 0 评论 -
谈谈自定义View的流程?
更多面试题请看这里:https://interview.raoyunsoft.com/面试题专栏会持续更新欢迎关注订阅自定义View是Android开发者进阶的必备技能,掌握其流程能让你灵活实现复杂UI效果。核心分为两大块:理解系统绘制流程和实现自定义逻辑。View绘制从开始,分为三个阶段:Measure(测量)Layout(布局)Draw(绘制)核心工具::画布(绘制图形/文字):画笔(控制颜色/样式)二、自定义View六步法1. 定义自定义属性在中声明属性:X原创 2025-10-23 17:51:54 · 397 阅读 · 0 评论 -
谈谈你对Window和WindowManager的理解
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-21 17:56:22 · 388 阅读 · 0 评论 -
请谈谈源码中StaticLayout的用法和应用场景?
是Android中处理多行文本测量与布局的核心类,专门用于在自定义View或Canvas上绘制复杂文本。与不同,它适用于静态文本场景(文本内容不变),通过预计算文本分行和测量结果提升绘制性能。原创 2025-10-21 17:55:35 · 278 阅读 · 0 评论 -
Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么?
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-21 17:54:43 · 374 阅读 · 0 评论 -
请谈谈什么是同步屏障?
面试题专栏会持续更新欢迎关注订阅同步屏障是Android消息机制中的一种特殊控制手段,用于临时,优先处理(如UI绘制)。它的核心作用是确保关键任务不被普通消息延迟执行。原创 2025-10-18 17:22:54 · 590 阅读 · 0 评论 -
请例举 Android 中常用布局类型,并简述其用法以及排版效率
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-18 17:20:44 · 462 阅读 · 0 评论 -
说说四大组件的通信机制
Android四大组件通过不同方式实现跨进程/跨组件通信,共同构成应用架构的基础。面试题专栏会持续更新欢迎关注订阅。原创 2025-10-18 17:19:59 · 769 阅读 · 0 评论 -
Android的Broadcast生命周期是怎样的?
其设计初衷是快速响应系统事件(如网络变化、电量不足),10秒以上的操作会触发ANR(应用无响应)。务必通过Service/WorkManager处理耗时任务!面试题专栏会持续更新欢迎关注订阅。原创 2025-10-17 17:40:07 · 252 阅读 · 0 评论 -
什么是 AIDL 以及如何使用
创建.aidl文件(如// 声明自定义类型(需同名Java类实现Parcelable)// 基本数据类型示例// 传递自定义对象// 支持List/Map(元素必须是AIDL支持类型)原创 2025-10-17 17:39:30 · 384 阅读 · 0 评论 -
Android多进程通信机制
更多面试题请看这里:https://interview.raoyunsoft.com/面试题专栏会持续更新欢迎关注订阅核心原理:基于Handler的消息机制封装,通过Binder实现跨进程通信。适合简单消息传递场景。服务端实现:关键配置:在AndroidManifest.xml中声明独立进程客户端绑定:双向通信:客户端设置接收回调2. AIDL跨进程通信适用于复杂接口调用场景,支持自定义对象传输。AIDL接口定义:支持数据类型:服务端实现:客户端调用:高级特性:权限验证:服务端原创 2025-10-17 17:38:38 · 285 阅读 · 0 评论 -
IntentService 的应用场景和使用方式?
面试题专栏会持续更新欢迎关注订阅。原创 2025-10-16 17:04:24 · 299 阅读 · 0 评论 -
HandlerThread是什么?为什么它会存在?
优势实现原理规避的问题一键创建消息循环自动执行避免忘记初始化Looper安全获取Looper同步块 + 等待唤醒机制解决NPE和线程竞态问题规范线程退出流程提供quit()防止消息队列内存泄漏。原创 2025-10-16 17:03:44 · 260 阅读 · 0 评论 -
谈谈你对 Activity.runOnUiThread 的理解?
更多面试题请看这里:https://interview.raoyunsoft.com/面试题专栏会持续更新欢迎关注订阅 是 Android 开发中用于安全更新 UI 的核心方法。它的核心作用是将一个 任务绑定到主线程(UI 线程)执行,避免在后台线程直接操作 UI 导致的崩溃问题。以下是关键解析:优势:比 更简洁,无需手动创建 实例。2. 底层实现原理源码逻辑(简化版):原创 2025-10-16 17:02:20 · 448 阅读 · 0 评论 -
Fragment如何实现Activity栈的压栈和出栈
Fragment本身没有独立的栈管理能力,但通过和可以模拟类似Activity栈的压栈(push)和出栈(pop)行为。核心是通过回退栈(BackStack)机制实现层级导航管理。原创 2025-10-15 17:00:21 · 558 阅读 · 0 评论 -
理解Activity、View和Window三者关系
当被问到三者关系时,建议从「创建链」和「事件流」两条主线展开,结合。实例(Window的具体实现类),这是整个UI体系的起点。(触发measure/layout/draw)Activity创建时会自动初始化一个。Window是抽象类,实际使用其子类。源码流程解释,瞬间提升回答深度!)作为视图树的根节点,通过。逐级添加子View。原创 2025-10-15 16:59:45 · 656 阅读 · 0 评论 -
Fragment与Fragment、Activity通信的方式?
在Android开发中,Fragment之间的通信以及与宿主Activity的交互是核心技能。原创 2025-10-15 16:59:08 · 254 阅读 · 0 评论 -
Instrumentation是什么?和ActivityThread有什么关系?
在Android Framework中,是一个关键的系统组件,它相当于。简单来说,当AMS(ActivityManagerService)需要和应用程序进程交互时(比如启动Activity、暂停Activity等),实际的具体操作都是由来完成的。原创 2025-10-14 17:36:02 · 386 阅读 · 0 评论 -
Application类的作用
在Android开发中,类是整个应用的基石,它负责维护全局应用状态。。原创 2025-10-14 17:35:21 · 326 阅读 · 0 评论 -
说说Activity加载的流程?
当用户点击桌面应用图标时,整个Activity加载流程涉及多进程协作和系统服务调度。原创 2025-10-13 19:28:48 · 893 阅读 · 0 评论 -
试从源码角度分析Handler的post和sendMessage方法的区别和应用场景?
根据是否需要携带数据和代码复用需求选择合适方式。:两种方法最终都通过。原创 2025-10-13 19:28:00 · 778 阅读 · 0 评论 -
主线程 MainLooper 和一般 Looper 的异同?
的默认构造函数绑定当前线程的 Looper?无论 MainLooper 还是普通 Looper,都通过。中的消息,且都遵循相同的消息分发逻辑(通过。两者都通过相同的构造函数创建(最终由。原创 2025-10-13 19:27:08 · 335 阅读 · 0 评论 -
Looper的loop死循环为什么不卡死?
为了让主线程持续处理用户输入事件,内部设计为一个死循环,不断调用读取消息队列中的消息。但它的精妙之处在于pollOnce()epolleventFdeventFdepollRUNNABLEWAITINGepoll。原创 2025-10-09 19:33:48 · 655 阅读 · 0 评论 -
Message 的执行时刻如何管理?
是同一个 Message 的连续操作,插队消息仍需等待当前生命周期任务完成。属性(执行时间戳)排序存储在。:即使消息已到期,也。原创 2025-10-09 19:33:11 · 244 阅读 · 0 评论 -
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
消息的载体,包含任务数据和目标Handler信息。它在Handler机制中贯穿始终,本质是一个链表节点。当多线程同时操作MessageQueue(生产者线程入队,Looper线程出队),通过。这种机制保证了跨线程通信的安全性和高效性,是Android事件驱动的核心基础。,允许生产者线程随时入队新消息。唤醒后重新竞争锁执行出队操作。nativePollOnce() 等待。Handler发送Message。消息容器,本质是优先级队列(按。:当队列为空时,Looper在。中释放CPU资源并等待,此时。原创 2025-10-09 19:32:29 · 1164 阅读 · 0 评论 -
请解释Android Framework的工作方式及原理,并详细说明Activity生成View的机制
更多面试题请看这里:https://interview.raoyunsoft.com/Android Framework是连接底层Linux内核与应用层的桥梁,封装了核心系统服务(如。原创 2025-09-26 16:22:23 · 1223 阅读 · 0 评论 -
对于 Context,你了解多少?
是 Android 系统中核心的抽象类,代表应用程序环境的全局信息接口。它提供访问应用资源、启动组件、获取系统服务等能力,贯穿整个 Android 开发流程。:UI 操作(如 Dialog/Toast)优先用 Activity Context,全局对象使用 Application Context。更多面试题请看这里:https://interview.raoyunsoft.com/:Activity/Service/Application 在创建时通过。原创 2025-09-26 16:19:50 · 788 阅读 · 0 评论 -
请简述从点击图标开始App的启动流程
用户点击图标后,Launcher进程(系统桌面)通过Binder IPC向SystemServer进程的ActivityManagerService(AMS)发起。SystemServer进程收到请求后,确认目标应用进程尚未存在,通过socket通信向Zygote进程发送创建新进程的指令。SystemServer进程(AMS)收到绑定请求后,通过Binder IPC向应用进程发送。系统调用创建新的应用进程,并初始化ART虚拟机环境,加载目标应用的。请求,将进程信息注册到AMS,并初始化。原创 2025-09-26 16:19:12 · 335 阅读 · 0 评论 -
如果后台的Activity被系统回收了,如何在回收前保存当前状态?
更多面试题请看这里:https://interview.raoyunsoft.com/当后台的 Activity 因系统资源不足(如内存紧张)被回收时,可以通过回调方法保存关键状态数据。这个机制能确保用户返回时恢复原有界面状态。原创 2025-09-25 14:41:44 · 321 阅读 · 0 评论 -
Android DVM的进程和Linux的进程,应用程序的进程是否为同一个概念?
更多面试题请看这里:https://interview.raoyunsoft.com/答:这个问题涉及到Android运行时环境的底层机制。App1进程 PID=1001。App2进程 PID=1002。原创 2025-09-25 14:40:13 · 564 阅读 · 0 评论 -
切换横竖屏时Activity的生命周期变化
更多面试题请看这里:https://interview.raoyunsoft.com/不同配置和系统版本下,横竖屏切换会触发不同的生命周期回调。以下是详细场景分析:📱 竖屏启动流程🔄 切换横屏流程(Android 6.0/7.0/8.0一致)📱 横屏启动流程🔄 切换竖屏流程(Android 6.0/7.0/8.0一致)✅ 结论:🔄 切换横屏/竖屏流程差异:🔄 切换横屏/竖屏流程(所有系统版本):✅ 结论:🔄 切换横屏/竖屏流程(Android 6.0/7.0/8.0一致):✅ 结论原创 2025-09-24 15:49:00 · 363 阅读 · 0 评论 -
说明 onSaveInstanceState() 和 onRestoreInstanceState() 在什么时候被调用
更多面试题请看这里:https://interview.raoyunsoft.com/这两个方法用于在。原创 2025-09-24 15:47:25 · 242 阅读 · 0 评论 -
Activity的生命周期
更多面试题请看这里:https://interview.raoyunsoft.com/原创 2025-09-24 15:46:38 · 928 阅读 · 0 评论
分享