- 博客(142)
- 资源 (2)
- 收藏
- 关注
原创 面试复习题--Flutter在ANdroid和IOS设备上的绘制原理
核心统一:Flutter 在 Android/iOS 上的「布局→绘制指令生成→Skia 处理」全流程完全统一,差异仅在「绘制结果输出到系统画布」的适配层;自绘核心:Flutter 不依赖 Android View/iOS UIKit,仅向系统申请「一块画布」(Android Surface/iOS Layer),Skia 负责所有绘制逻辑,这是跨平台 UI 一致性的关键;系统交互。
2025-12-16 09:01:38
427
原创 面试复习题--Window 与 WMS 绑定的详细流程
核心桥梁:ViewRootImpl 是应用进程与 WMS 的核心通信桥梁,是跨进程通信的 Binder 载体;核心流程→→ 跨进程调用→ WMS 校验 Token / 权限 → 分配 Surface → View 绘制 → 绑定完成;核心校验:WMS 通过 WindowToken 确保 Window 合法性,这是绑定成功的前提;跨进程边界:应用进程与 SystemServer 进程的交互点是,所有 Window 参数通过 Binder 传递。核心统一。
2025-12-16 08:58:08
238
原创 面试复习题--Activity和WIndow的联系
绑定关系:每个 Activity 对应且仅对应一个(Window 的具体实现),Activity 通过mWindow持有该 Window,是「一对一」的专属绑定;UI 载体:Activity 的本质是给 PhoneWindow 的 DecorView 设置内容布局,Activity 本身无 UI 渲染能力,全靠 Window 承载;生命周期联动:Activity 的onResume()触发 Window 与 WMS 绑定并显示,
2025-12-16 08:56:20
443
原创 面试复习题--Android和iOS设备上的绘制原理
核心统一:Flutter 在 Android/iOS 上的「布局→绘制指令生成→Skia 处理」全流程完全统一,差异仅在「绘制结果输出到系统画布」的适配层;自绘核心:Flutter 不依赖 Android View/iOS UIKit,仅向系统申请「一块画布」(Android Surface/iOS Layer),Skia 负责所有绘制逻辑,这是跨平台 UI 一致性的关键;系统交互。
2025-12-15 20:06:10
476
原创 面试复习题--jetpack 的理解
Android 架构稳定性判定核心看「崩溃 / ANR / 性能」量化指标 + 场景适配能力;架构合理性判定核心看「分层 / 拆分 / 依赖」设计原则 + 业务适配度。判定时需结合移动端特性,避免照搬服务端架构的评判标准,重点关注资源限制、系统适配、生命周期安全三大核心点。如果需要,我可以基于此体系整理一份「Android 架构稳定性 & 合理性评估清单(可直接填写)」,覆盖所有检查项和评分标准,方便项目自查或评审使用。jetpack 库的说明及优缺点。
2025-12-12 18:00:26
682
原创 面试复习题--Compose优化
对于自定义布局需求(如流式布局、瀑布流),直接继承Layout实现,避免多层嵌套的布局计算。kotlin// 示例:自定义横向排列布局(替代Row+复杂modifier)) {Layout(// 1. 测量子组件// 2. 计算布局大小// 3. 放置子组件var x = 0最小化重组:状态隔离 + 细粒度拆分 + 稳定数据类。扁平化布局:减少嵌套 + 简化 modifier。高效列表:唯一 key + 分页 + item 拆分。内存安全:复用对象 + 正确释放副作用。首屏提速。
2025-12-09 16:52:18
571
原创 面试复习题--防止渐进式质量衰退
基线是「质量不劣化的底线」,需覆盖 Android 核心维度,且按「增量」而非「绝对值」监控(单 feature 的增量才是关键)。监控维度核心基线指标(示例)增量告警阈值(单 feature)叠加告警阈值(累计)检测工具 / 方法稳定性崩溃率≤0.05%、ANR 率≤0.1%崩溃率 + 0.01%崩溃率≥0.08%Firebase Crashlytics / 自研监控平台性能冷启动≤2s、页面加载≤500ms、内存峰值≤500MB、帧率≥58fps启动时间 + 100ms。
2025-12-09 09:32:09
719
原创 面试复习题--android推送优化
Android TCP 优化需平衡性能与能耗移动网络下优先保证连接稳定性(智能重连、弱网适配);交互场景禁用 Nagle 算法,大文件传输用批量 / 零拷贝;严格遵循 Android 后台策略,用系统 API 减少无效唤醒。最终需结合具体业务场景(如即时通讯 / 文件传输)测试验证,避免过度优化导致兼容性问题。
2025-12-03 09:27:43
372
原创 面试复习题--TCP通信优化
TCP 优化需结合场景短连接场景:优先优化连接建立(TFO、长连接);高带宽场景:调优窗口大小、拥塞算法(BBR);弱网场景:禁用 Nagle、启用 SACK、动态速率调整。最终需通过压测工具(如iperf3tc模拟网络)验证优化效果,避免盲目调参。
2025-12-03 09:12:04
928
原创 面试复习题--Android的绘制原理
UI触发刷新→→Measure→Layout→Draw生成DisplayList→Choreographer对齐VSync→SurfaceFlinger合成Surface→GPU渲染→屏幕显示理解这一流程是优化 UI 性能(如减少过度绘制、避免频繁 requestLayout)的基础。
2025-12-02 16:21:51
808
原创 面试复习题--kotlin知识点
fun 函数名(参数名: 类型): 返回类型 { ... }kotlin单表达式函数:返回值可省略,直接用推导:kotlin默认参数kotlinprintInfo("Alice") // 使用默认 age=18命名参数:调用时指定参数名,顺序可打乱:kotlin可变参数vararg关键字:kotlinsum(1, 2, 3) // 输出 6。
2025-11-28 14:15:44
760
原创 面试复习题--Bitmap优化
Bitmap 优化的核心是 **“按需加载、减少内存占用、高效复用、及时释放”**。优先使用成熟的图片加载库(Glide/Coil)可避免手动优化的繁琐,同时需结合业务场景(如列表图片、大图显示)针对性优化,确保内存使用可控、性能流畅。
2025-11-28 14:12:59
685
原创 程序员的AI技术图谱
RAG是大模型落地的关键技术,核心是检索与生成的协同;MCP/A2A扩展了大模型的处理能力,适配复杂任务;Agent需结合工具、记忆、规划实现自主决策;是大模型的基础,其注意力机制解决了序列建模的核心问题。这些技术结合可构建强大的 AI 系统,覆盖问答、分析、自动化等场景。
2025-11-27 09:09:28
355
原创 面试复习题--jvm GC算法
JVM GC 算法的核心是 “高效识别并回收垃圾,同时最小化对应用的影响”。实际开发中,需根据应用的内存需求、响应时间要求和硬件环境,选择合适的 GC 收集器(如 Web 应用优先选 G1,后台计算优先选 Parallel)。
2025-11-25 15:31:25
443
原创 面试复习题---Flutter 资深专家
Flutter 引擎默认有 4 个核心线程,其中UI 线程和GPU 线程UI 线程(Dart 线程):执行 Dart 代码(如 Widget 构建、状态更新、布局计算),生成 Layer 树,将其打包为 “UI 帧任务” 发送给 GPU 线程。GPU 线程(C++ 线程):接收 UI 线程的 Layer 树,调用 Skia 转换为 GPU 指令,最终提交给硬件渲染。协作规则。
2025-09-26 16:14:32
1184
原创 面试复习题---Android核心机制原理
以上问题涵盖了从应用层到Framework层,再到Native层和Linux内核层的完整知识链条。画出关键流程的时序图(如Activity启动、View绘制、APK安装)。解释跨进程通信的完整链路(Java层 → Binder → Native层 → 内核)。结合系统日志和源码定位复杂问题。理解Google的设计哲学(如沙箱、权限、功耗优化)。准备建议阅读AOSP源码:重点关注core/javanative等目录。动手实验:使用adb shell命令查看系统状态(dumpsyspsls。
2025-09-25 14:03:08
641
原创 面试复习题---Android技术专家3
源码级理解:能从 Framework 层解释现象。系统性思维:能从架构、性能、稳定性多维度设计方案。实战经验:有解决复杂问题(如 ANR、OOM、卡顿)的实际案例。技术前瞻性:了解 Jetpack、Kotlin 协程、跨平台等新技术趋势。
2025-09-25 14:00:31
1059
原创 面试复习题---APP 工程化体系
基础层(代码 / 版本)保障协作标准化;构建层提升编译效率;质量层提前拦截 Bug;自动化层(CI/CD)实现全流程自动化;运维层保障线上稳定;协作层降低沟通成本;合规层规避法律风险。
2025-09-24 17:51:00
779
原创 Jetpack 组件的底层原理、实战中的边界场景处理
设计思想:Jetpack 组件的底层均围绕 “解耦”(如 ViewModel 分离数据与 UI)、“生命周期感知”(如 LiveData 自动解绑观察者)、“兼容性”(如 WorkManager 跨版本适配)展开,本质是降低 Android 开发的复杂度。实战原则理解底层原理是解决边界问题的前提(如知道 ViewModel 不持有宿主 Context 可避免内存泄漏);避免 “过度依赖组件”(如 ViewModel 不适合跨进程数据传递,需结合其他方案);
2025-09-24 11:55:13
450
原创 面试复习题--BlockingQueue
是 Java 并发编程中解决线程间安全通信的核心工具,通过内置的阻塞和同步机制,简化了多线程数据共享的实现,避免了手动处理锁、等待 / 唤醒等复杂逻辑,是编写高效、安全并发程序的重要组件。
2025-09-08 18:01:34
494
原创 面试复习题--kotlin的设计模式
模式Kotlin 最佳实践SingletonobjectBuilderdata class+ 默认参数 或 DSLStrategy高阶函数(T) -> RObserverFlowSharedFlowStatewhenDecorator扩展函数 或by委托FactorywhenAdapter扩展函数直接转换💡核心思想用语言特性简化模式,而不是用模式模拟语言特性。掌握这些 Kotlin 特有的实现方式,能让你在面试中脱颖而出,展现对语言深度的理解。
2025-09-03 19:19:34
799
原创 面试复习题-Flutter场景题
步骤说明1. 理解需求问清楚边界条件、异常情况2. 设计数据模型定义classenumstate3. 选择状态管理ProviderBlocRiverpod4. 构建 UI 结构Widget拆分、复用5. 处理交互手势、动画、表单6. 考虑性能constIsolate7. 异常与加载loadingerrorretry8. 内存与生命周期dispose()controller释放记住:面试官想看到的是你的思考过程,边说边写,展示架构思维和工程素养。
2025-09-03 17:09:55
913
原创 面试复习题-Flutter
KeyFlutter 高级面试考察点维度关键问题原理三棵树、渲染流程、事件循环性能卡顿优化、constIsolate、列表优化状态管理ProviderRiverpodBloc原理与选型架构分层、模块化、可测试性实战自定义控件、平台交互、热重载机制准备建议深入阅读 Flutter 源码(如准备性能优化的实际案例(如将 FPS 从 30 提升到 60)。了解新特性(Material 3、Foldable 支持、Impeller 渲染引擎)。Flutter 不仅是“写 UI”,更是对。
2025-09-03 17:06:17
1092
原创 面试复习题-kotlin
函数可以作为参数或返回值。kotlin深色版本协程:轻量级线程,由用户态调度,挂起不阻塞线程。线程:操作系统调度,阻塞会占用线程资源。协程开销小,可创建成千上万个。空安全?!!??协程launchasyncscope、异常处理函数式编程:高阶函数、letapply等作用域函数语法糖data classobjectAndroid 特有建议结合实际项目经验,解释这些特性如何提升代码质量、可读性和安全性定义:协程启动后未被正确取消或等待,导致资源浪费或内存泄漏。场景在ViewModel。
2025-09-03 16:41:28
1018
原创 Android ANR的诊断
并且这里还会出现堆栈漂移的情况,所以这里的堆栈是一个很重要的参考,但并不能100%认定。属于前台服务未绑定的超时,就是说service启动之后,在10S内没有去绑定前台UI(这里要区分版本的),这时候系统会通知APP去抛出异常,但是因为APP主线程阻塞,超过10S以上无法处理这个异常,就会提示这种类型的ANR错误。所以通过上面的判断,应用页面可以正常的切换到resume状态,但是无法正常绘制,并且主线程并不阻塞,这种情况推测是系统侧渲染进程繁忙或者其它异常导致的,这种问题就可以转给对应的系统开发。
2023-07-06 10:38:00
789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1