自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 518

原创 面试复习题--Window 与 WMS 绑定的详细流程

核心桥梁:ViewRootImpl 是应用进程与 WMS 的核心通信桥梁,是跨进程通信的 Binder 载体;核心流程→→ 跨进程调用→ WMS 校验 Token / 权限 → 分配 Surface → View 绘制 → 绑定完成;核心校验:WMS 通过 WindowToken 确保 Window 合法性,这是绑定成功的前提;跨进程边界:应用进程与 SystemServer 进程的交互点是,所有 Window 参数通过 Binder 传递。核心统一。

2025-12-16 08:58:08 242

原创 面试复习题--Activity和WIndow的联系

绑定关系:每个 Activity 对应且仅对应一个(Window 的具体实现),Activity 通过mWindow持有该 Window,是「一对一」的专属绑定;UI 载体:Activity 的本质是给 PhoneWindow 的 DecorView 设置内容布局,Activity 本身无 UI 渲染能力,全靠 Window 承载;生命周期联动:Activity 的onResume()触发 Window 与 WMS 绑定并显示,

2025-12-16 08:56:20 533

原创 面试复习题--Android和iOS设备上的绘制原理

核心统一:Flutter 在 Android/iOS 上的「布局→绘制指令生成→Skia 处理」全流程完全统一,差异仅在「绘制结果输出到系统画布」的适配层;自绘核心:Flutter 不依赖 Android View/iOS UIKit,仅向系统申请「一块画布」(Android Surface/iOS Layer),Skia 负责所有绘制逻辑,这是跨平台 UI 一致性的关键;系统交互。

2025-12-15 20:06:10 526

原创 面试复习题--jetpack 的理解

Android 架构稳定性判定核心看「崩溃 / ANR / 性能」量化指标 + 场景适配能力;架构合理性判定核心看「分层 / 拆分 / 依赖」设计原则 + 业务适配度。判定时需结合移动端特性,避免照搬服务端架构的评判标准,重点关注资源限制、系统适配、生命周期安全三大核心点。如果需要,我可以基于此体系整理一份「Android 架构稳定性 & 合理性评估清单(可直接填写)」,覆盖所有检查项和评分标准,方便项目自查或评审使用。jetpack 库的说明及优缺点。

2025-12-12 18:00:26 685

原创 面试复习题--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

原创 面试复习题--APP应用启动流程

基于ASOP源码分析

2025-12-01 15:33:49 656

原创 面试复习题--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

原创 面试复习题---MVVM的比较

【代码】Android面试题---MVVM的比较。

2025-10-20 12:11:17 821

原创 面试复习题---Flutter 资深专家

Flutter 引擎默认有 4 个核心线程,其中UI 线程和GPU 线程UI 线程(Dart 线程):执行 Dart 代码(如 Widget 构建、状态更新、布局计算),生成 Layer 树,将其打包为 “UI 帧任务” 发送给 GPU 线程。GPU 线程(C++ 线程):接收 UI 线程的 Layer 树,调用 Skia 转换为 GPU 指令,最终提交给硬件渲染。协作规则。

2025-09-26 16:14:32 1185

原创 面试复习题---Android核心机制原理

以上问题涵盖了从应用层到Framework层,再到Native层和Linux内核层的完整知识链条。画出关键流程的时序图(如Activity启动、View绘制、APK安装)。解释跨进程通信的完整链路(Java层 → Binder → Native层 → 内核)。结合系统日志和源码定位复杂问题。理解Google的设计哲学(如沙箱、权限、功耗优化)。准备建议阅读AOSP源码:重点关注core/javanative等目录。动手实验:使用adb shell命令查看系统状态(dumpsyspsls。

2025-09-25 14:03:08 643

原创 面试复习题---Android技术专家3

源码级理解:能从 Framework 层解释现象。系统性思维:能从架构、性能、稳定性多维度设计方案。实战经验:有解决复杂问题(如 ANR、OOM、卡顿)的实际案例。技术前瞻性:了解 Jetpack、Kotlin 协程、跨平台等新技术趋势。

2025-09-25 14:00:31 1060

原创 面试复习题--Android的前沿技术

当前 Android 开发的核心竞争力已从 “功能实现” 转向 “技术融合创新”,开发者需在。

2025-09-24 17:53:03 1102

原创 面试复习题---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

原创 面试复习题---资深专家技能

Android 资深专家面试题需围绕等维度设计,既要考察底层理解,也要验证实际项目经验和复杂问题解决能力。

2025-09-24 11:30:09 525

原创 面试复习题--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 803

原创 面试复习题-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

原创 高端算法总结

高端算法汇总

2023-08-22 16:34:54 785

原创 Android ANR的诊断

并且这里还会出现堆栈漂移的情况,所以这里的堆栈是一个很重要的参考,但并不能100%认定。属于前台服务未绑定的超时,就是说service启动之后,在10S内没有去绑定前台UI(这里要区分版本的),这时候系统会通知APP去抛出异常,但是因为APP主线程阻塞,超过10S以上无法处理这个异常,就会提示这种类型的ANR错误。所以通过上面的判断,应用页面可以正常的切换到resume状态,但是无法正常绘制,并且主线程并不阻塞,这种情况推测是系统侧渲染进程繁忙或者其它异常导致的,这种问题就可以转给对应的系统开发。

2023-07-06 10:38:00 789

原创 面试复习题--线程锁

面试中java 线程相关面试题

2023-02-12 23:28:37 292

原创 面试复习题--性能检测原理

性能检测原理

2023-02-09 17:31:44 634

原创 Android生命周期汇总

整理Android的各大组建生命周期,巩固基础知识

2023-02-07 12:19:58 216

原创 Java和kotlin的对比

在java的既有能力上学习kotlin,可快捷理解新语言特性。

2023-02-04 16:02:41 6041 1

原创 对照JAVA学习Rust(09)--泛型

Rust和java的泛型对比学习

2023-01-14 16:37:02 184

原创 对照JAVA学习Rust(08)--特性和接口

Rust的trait 特性使用

2023-01-14 15:31:58 410

原创 对照JAVA学习Rust(07)--类和结构体

Java类和Rust结构体

2023-01-14 00:03:57 818

原创 对照JAVA学习Rust(06)--控制语句

Rust和Java的控制语句对比学习

2023-01-13 19:39:00 737

原创 对照JAVA学习Rust(05)--运算符

对比学习Java 和Rust的运算符

2023-01-13 17:38:55 207

原创 对照JAVA学习Rust(04)--宏

Rust 的宏使用

2023-01-11 22:40:33 332

android使用Dlib人脸识别

基于dlib的人脸识别的android开发demo,基于dlib的人脸识别的android开发demo

2018-04-03

pushsharp库

编译测试过的pushsharp动态库,可用于。net 的ios消息provide人服务器中

2014-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除