技术栈
源码阅读
aykon
5 小时前
源码阅读
Android WMS (WindowManagerService) 机制详解
Window 是一个抽象概念,表示一个"窗口"。1. requestLayout 和 addToDisplay 的执行顺序
冬奇Lab
3 天前
android
·
音视频开发
·
源码阅读
AudioTrack音频播放流程深度解析
上一篇我们搭好了"舞台"——分析了AudioFlinger的整体架构。这一篇我们来追一个具体的"演员":AudioTrack。
冬奇Lab
4 天前
android
·
音视频开发
·
源码阅读
AudioFlinger架构基础:Android音频系统的心脏
你有没有想过,当你同时打开音乐APP播放歌曲、微信来了消息提示音、游戏里的背景音乐也在跑——这三路音频是怎么在同一个手机扬声器里"和平共处"的?
是2的10次方啊
6 天前
java
·
源码阅读
String.format 替换踩坑记:从遇坑、读源码到手写实现
改需求时在模板里多加了一个 %s、多传了一个参数,结果最后一个占位符还是用了旧值。查下来才知道:占位符按出现顺序跟参数一一对应,多出来的参数 JDK 直接不用,也不报错。所以这是典型的「对底层约定不清楚」导致的隐藏 Bug,只有在你新增占位符又新增参数、却没改顺序的时候才会踩到。
冬奇Lab
6 天前
android
·
源码阅读
Android系统核心服务协作:从点击图标到应用显示的完整链路
串联所有核心知识点,深入剖析从Launcher点击图标到应用界面显示的完整流程,理解AMS、WMS、Zygote、Binder等核心服务的协作机制。
冬奇Lab
7 天前
android
·
源码阅读
ContentProvider与Uri权限:跨应用数据共享
Android 15 核心子系统系列 - 第26篇本篇深入分析Android的跨应用数据共享机制,理解ContentProvider的生命周期、Uri权限授予和ContentObserver通知机制。
冬奇Lab
8 天前
android
·
源码阅读
JobScheduler与WorkManager:任务调度机制
Android 15 核心子系统系列 - 第25篇本篇深入分析Android的任务调度系统,理解JobScheduler的约束控制机制和WorkManager的封装实现,掌握后台任务的最佳实践。
冬奇Lab
9 天前
android
·
性能优化
·
源码阅读
NotificationManagerService:通知管理与优先级控制
Android 15 核心子系统系列 - 第24篇本篇深入分析Android通知系统的核心服务NotificationManagerService,理解通知渠道、优先级控制和免打扰模式的工作机制。
冬奇Lab
10 天前
android
·
源码阅读
PowerManagerService(下):Doze模式与电池优化
在上一篇中,我们理解了PowerManagerService的基础架构和WakeLock机制——这是主动电源管理:应用告诉系统"我需要保持唤醒"。
冬奇Lab
11 天前
人工智能
·
开源
·
源码阅读
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
你问 OpenClaw:「帮我查一下上海今天的天气。」AI 回复了一段 curl "wttr.in/Shanghai?format=3" 的命令,执行后准确拿到了天气数据。
程序猿阿越
11 天前
java
·
后端
·
源码阅读
Kafka4源码(二)创建Topic
本章分析Topic创建流程:注:本文基于4.2.0。Broker注册发现,ZK模式通过临时ZNode= /brokers/{brokerId} 。
冬奇Lab
14 天前
人工智能
·
开源
·
源码阅读
OpenClaw 深度解析(五):模型与提供商系统
你在用 OpenClaw 处理日常工作,大多数时候用 claude-sonnet-4-6,但对于某些中文任务你更喜欢 Kimi(月之暗面)。你在配置文件里同时保存了两个提供商的密钥,并且希望能用 anthropic/claude-sonnet-4-6 或者 kimi-coding/k2p5 来指定它们,还想在 Claude 触发速率限制时自动回退到备用模型。
冬奇Lab
15 天前
人工智能
·
开源
·
源码阅读
OpenClaw 深度解析(四):插件 SDK 与扩展开发机制
假设你是一位越南用户,想把 OpenClaw 接入 Zalo(越南最大的即时通讯平台)。核心已经实现了 Telegram、Discord、Slack……但 Zalo 没有。你有两个路径:
冬奇Lab
16 天前
android
·
源码阅读
PowerManagerService(上):电源状态与WakeLock管理
在上一篇输入系统的文章中,我们看到Android如何精准地将用户触摸传递给应用。但有一个问题值得思考:当用户不操作时,系统如何决定是保持唤醒还是进入休眠?
阿懂在掘金
17 天前
vue.js
·
源码阅读
defineModel 是进步还是边界陷阱?双数据源组件的选择逻辑
defineModel 是 Vue 3.4 引入的语法糖。它看起来只是让 v-model 更优雅:但它背后做的事情,远不止简单的语法糖,甚至改变了组件的状态哲学。
冬奇Lab
18 天前
人工智能
·
开源
·
源码阅读
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
系列目标:读完全系列后,你能在 OpenClaw 上做二次开发,也能从零搭建类似的系统。本文核心问题:WhatsApp 来了一条消息,OpenClaw 怎么知道该交给哪个 Agent 的哪个会话处理?
桦说编程
18 天前
java
·
后端
·
源码阅读
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
大家好,我是桦说编程。本文从 ForkJoinPool 的 tryCompensate 出发,结合 CompletableFuture 中的类似机制,帮你理解并发框架中「线程阻塞时如何保证系统持续推进」这一核心设计思想。
冬奇Lab
19 天前
android
·
源码阅读
Android触摸事件分发、手势识别与输入优化实战
上一篇我们深入分析了InputManagerService的整体架构,了解了输入事件如何从内核驱动经过EventHub、InputReader、InputDispatcher,最终通过InputChannel传递到应用进程的ViewRootImpl。
冬奇Lab
20 天前
人工智能
·
开源
·
源码阅读
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
系列目标:读完全系列,你能基于 OpenClaw 做定制开发,也能参考它的设计从零搭建类似系统。本篇核心问题:Gateway 是什么?为什么要有它?它是怎么一步步被设计出来的?
冬奇Lab
21 天前
android
·
源码阅读
InputManagerService:输入事件分发与ANR机制
在前面的文章中,我们学习了AMS如何管理Activity生命周期,PMS如何管理应用安装,WMS如何管理窗口显示。但有一个关键问题:当用户触摸屏幕或按下按键时,这些输入事件是如何准确地传递到目标窗口的?