喵星科技报
Menu
Close
Home
Archives
Categories
Tags
About
There are 220 posts in total till now.
2026
Apr 21, 2026
弹幕引擎 (一) 从流式渲染架构与批式渲染架构说起
Apr 18, 2026
Android 帧绘制耗时全链路溯源
Apr 09, 2026
协程进阶:通道 05. 管道案例:素数序列 (Primes)
Apr 09, 2026
Android HWUI 硬件加速原理解析
Apr 09, 2026
Android Bitmap 创建流程深度分析
Mar 31, 2026
协程进阶:监督 03. 监督环境下的异常捕获
Mar 31, 2026
协程进阶:监督 02. supervisorScope 作用域
Mar 31, 2026
协程进阶:监督 01. SupervisorJob
Mar 31, 2026
协程进阶:同步 07. Actor 模式
Mar 31, 2026
协程进阶:同步 06. 互斥锁 (Mutex)
Mar 31, 2026
协程进阶:同步 05. 粗粒度线程限制 (Coarse-grained)
Mar 31, 2026
协程进阶:同步 04. 细粒度线程限制 (Fine-grained)
Mar 31, 2026
协程进阶:同步 03. 原子操作 (Atomic)
Mar 31, 2026
协程进阶:同步 02. Volatile 的局限性
Mar 31, 2026
协程进阶:同步 01. 共享状态导致的并发问题
Mar 31, 2026
协程进阶:选择 05. 实现 SwitchMap (Deferred 切换)
Mar 31, 2026
协程进阶:选择 04. 在 Await 上选择 (onAwait)
Mar 31, 2026
协程进阶:选择 03. 在发送上选择 (onSend)
Mar 31, 2026
协程进阶:选择 02. 处理通道关闭 (onReceiveCatching)
Mar 31, 2026
协程进阶:选择 01. Select 表达式基础
Mar 31, 2026
协程进阶:通道 10. Ticker 计时器 (Ticker Channels)
Mar 31, 2026
协程进阶:通道 09. 通道的公平性 (Fairness)
Mar 31, 2026
协程进阶:通道 08. 带缓冲的通道 (Buffered Channels)
Mar 31, 2026
协程进阶:通道 07. 扇入模式 (Fan-in)
Mar 31, 2026
协程进阶:通道 06. 扇出模式 (Fan-out)
Mar 31, 2026
协程进阶:通道 05. 管道案例:素数序列 (Primes)
Mar 31, 2026
协程进阶:通道 04. 管道模式 (Pipelines)
Mar 31, 2026
协程进阶:通道 03. 生产者构建器 (produce)
Mar 31, 2026
协程进阶:通道 02. 关闭与遍历
Mar 31, 2026
协程进阶:通道 01. 通道基础 (Channel)
Mar 31, 2026
协程进阶:组合 06. 并发环境下的异常传播
Mar 31, 2026
协程进阶:组合 05. 结构化并发并发 (coroutineScope)
Mar 31, 2026
协程进阶:组合 04. 异步函数风格
Mar 31, 2026
协程进阶:组合 03. 惰性并发 (CoroutineStart.LAZY)
Mar 31, 2026
协程进阶:组合 02. async 异步并发
Mar 31, 2026
协程进阶:组合 01. 默认顺序执行
Mar 31, 2026
协程进阶:上下文 11. 线程局部变量与协程
Mar 31, 2026
协程进阶:上下文 10. 管理 CoroutineScope
Mar 31, 2026
协程进阶:上下文 09. 合并上下文元素
Mar 31, 2026
协程进阶:上下文 08. 协程命名 (CoroutineName)
Mar 31, 2026
协程进阶:上下文 07. 父子协程的等待机制
Mar 31, 2026
协程进阶:上下文 06. Job 的父子关系
Mar 31, 2026
协程进阶:上下文 05. 任务句柄 (Job)
Mar 31, 2026
协程进阶:上下文 04. 调度器之间的跳转
Mar 31, 2026
协程进阶:上下文 03. 协程日志调试
Mar 31, 2026
协程进阶:上下文 02. 非受限调度器 (Dispatchers.Unconfined)
Mar 31, 2026
协程进阶:上下文 01. 常见调度器概览
Mar 31, 2026
协程进阶:异常 06. 取消异常的透明性 (Cancellation Transparency)
Mar 31, 2026
协程进阶:异常 05. 异常聚合 (Aggregation)
Mar 31, 2026
协程进阶:异常 04. 非取消异常的双向传播
Mar 31, 2026
协程进阶:异常 03. 取消信号与异常传播
Mar 31, 2026
协程进阶:异常 02. CoroutineExceptionHandler
Mar 31, 2026
协程进阶:异常 01. 异常传播的两种形式
Mar 31, 2026
Flow 取消:39. 使用 cancellable 启用取消检查
Mar 31, 2026
Flow 取消:38. 操作符中的取消检查
Mar 31, 2026
Flow 取消:37. 构建器中的取消检查
Mar 31, 2026
Flow 监听:36. launchIn 并发监听
Mar 31, 2026
Flow 监听:35. Collect 的阻塞性
Mar 31, 2026
Flow 完成:34. onCompletion 观察所有异常
Mar 31, 2026
Flow 完成:33. onCompletion 异常感知
Mar 31, 2026
Flow 完成:32. onCompletion 声明式完成
Mar 31, 2026
Flow 完成:31. 命令式完成 finally
Mar 31, 2026
Flow 异常:30. 声明式捕捉与收集异常
Mar 31, 2026
Flow 异常:29. Catch 操作符的局限性
Mar 31, 2026
Flow 异常:28. Catch 声明式捕获
Mar 31, 2026
Flow 异常:27. 操作符中的异常捕获
Mar 31, 2026
Flow 异常:26. 基础异常捕获
Mar 31, 2026
Flow 组合:25. FlatMapLatest 处理最新流
Mar 31, 2026
Flow 组合:24. FlatMapMerge 并发平坦化
Mar 31, 2026
Flow 组合:23. FlatMapConcat 顺序平坦化
Mar 31, 2026
Flow 组合:22. Combine 组合最新值
Mar 31, 2026
Flow 组合:21. Zip 同步等待机制
Mar 31, 2026
Flow 组合:20. Zip 组合两个流
Mar 31, 2026
Flow 性能:19. CollectLatest 处理最新值
Mar 31, 2026
Flow 性能:18. Conflate 合并最新值
Mar 31, 2026
Flow 性能:17. 使用 Buffer 优化性能
Mar 31, 2026
Flow 性能:16. 流的默认执行性能分析
Mar 31, 2026
Flow 进阶:15. 使用 flowOn 正确切换上下文
Mar 31, 2026
Flow 进阶:14. 改变上下文的错误方式 (withContext)
Mar 31, 2026
Flow 进阶:13. 流的上下文 (Flow Context)
Mar 31, 2026
Flow 基础:12. 流的连续性 (Flows are Sequential)
Mar 31, 2026
Flow 基础:11. 末端操作符 (Terminal Operators)
Mar 31, 2026
Flow 基础:10. Take 限速操作符 (Size-limiting)
Mar 31, 2026
Flow 基础:09. Transform 通用转换操作符
Mar 31, 2026
Flow 基础:08. Map 与 Filter 操作符
Mar 31, 2026
Flow 基础:07. Flow 构建器 (Flow Builders)
Mar 31, 2026
Flow 基础:06. 异步流的取消
Mar 31, 2026
Flow 基础:05. 冷流 (Cold Stream) 特性
Mar 31, 2026
Flow 基础:04. 什么是异步流 (Flow)
Mar 31, 2026
Flow 基础:03. 异步挂起函数与集合
Mar 31, 2026
Flow 基础:02. Sequence 同步惰性序列
Mar 31, 2026
Flow 基础:01. 集合与遍历
Mar 31, 2026
协程进阶:10. 安全的资源清理实践
Mar 31, 2026
协程进阶:09. 并发下的资源安全陷阱
Mar 31, 2026
协程进阶:08. 超时安全返回 (withTimeoutOrNull)
Mar 31, 2026
协程进阶:07. 超时自动取消 (withTimeout)
Mar 31, 2026
协程进阶:06. 不可取消的任务块
Mar 31, 2026
协程进阶:05. 资源清理与 finally 块
Mar 31, 2026
协程进阶:04. 检查状态实现取消
Mar 31, 2026
协程进阶:03. 取消与异常的关系
Mar 31, 2026
协程进阶:02. 计算任务无法取消
Mar 31, 2026
协程进阶:01. 基本取消操作
Mar 31, 2026
Kotlin 协程基础 03:结构化并发 (Structured Concurrency)
Mar 31, 2026
Kotlin 协程基础 02:挂起函数 (Suspending Functions)
Mar 31, 2026
Kotlin 协程基础 01:启动第一个协程
Mar 31, 2026
Kotlin 协程基础 06:协程的轻量级特性
Mar 31, 2026
Kotlin 协程基础 05:Job 与生命周期控制
Mar 31, 2026
Kotlin 协程基础 04:并发执行与作用域边界
Mar 31, 2026
Android Framework 专项 - NNAPI 核心机制
Mar 30, 2026
Android Framework 专项 - GUI 渲染系统核心机制
Mar 30, 2026
WMS 专项 - 底层支撑系统 (SurfaceFlinger, Input, View)
Mar 30, 2026
WMS 专项 - Surface 创建与渲染链路
Mar 30, 2026
WMS 专项 - 窗口布局与 Relayout 机制
Mar 30, 2026
WMS 专项 - 窗口添加流程解析 (AddWindow)
Mar 30, 2026
Activity 启动之进程创建流程(AMS 与 Zygote 的握手)
Mar 30, 2026
Activity 启动之栈管理与 LaunchMode 判定
Mar 30, 2026
Zygote 通信机制:为什么是 Socket 而不是 Binder?
Mar 30, 2026
Android Framework 专项 - Zygote 进程与进程孵化机制
Mar 30, 2026
ActivityThread 接收并处理 AMS 指令全过程
Mar 30, 2026
Android 核心机制:Handler、Looper 与 MessageQueue 的持有关系详解
Mar 30, 2026
Android 17 的无锁 MessageQueue
Mar 30, 2026
Android 17 的无锁 MessageQueue
Mar 29, 2026
Handler 与 ActivityThread 的协作机制
Mar 29, 2026
Android Framework 专项 - WMS 学习路线指南
Mar 29, 2026
Android Framework 专项 - AMS 学习路线指南
Mar 29, 2026
AMS 与 ATMS 的区别解析
Mar 29, 2026
Android Framework 专项 - IPC Binder 机制(一)
Mar 29, 2026
Activity 生命周期事务封装 (ClientTransaction)
Mar 29, 2026
Activity 启动的整体流程与第一个阶段解读参数
Mar 29, 2026
Android Framework 专项 - Handler(三)
Mar 29, 2026
Android Framework 专项 - Handler(二)
Mar 29, 2026
Android Framework 专项 - Handler(一)
Mar 29, 2026
WMS 核心概念与窗口管理流程
Mar 27, 2026
Kotlin 泛型进阶:in, out 与 reified
Mar 27, 2026
线程安全的单例
Mar 27, 2026
深度解析 Android 并发锁机制与应用实践
Mar 27, 2026
Java 锁的膨胀机制(偏向锁、轻量级锁、重量级锁)
Mar 26, 2026
WMS 源代码流程分析
Mar 25, 2026
Kotlin 协程上下文与 CombinedContext 源码解析
Mar 25, 2026
Kotlin Flow 常用用法指南
Mar 25, 2026
Kotlin 协程异常处理源码解析:从抛出到拦截的全链路追踪
Mar 25, 2026
Kotlin 协程异常处理与上报机制
2025
Feb 05, 2025
实时渲染(一)绘制一个三角形
Jan 04, 2025
从零开始写一个 Android 播放器(一)
Jan 04, 2025
从零开始写一个 Android 播放器(一)
2024
Nov 02, 2024
CMake 中的静态连接和动态链接
Apr 14, 2024
Kotlin中的自动拆装箱
Apr 01, 2024
ViewModel 源代码分析 (一)
Apr 01, 2024
ViewModel 源代码分析 (二)
Apr 01, 2024
ViewModel 源代码分析 (三)
Mar 22, 2024
TextView layout_constrainedWidth 属性
Mar 22, 2024
拦截 View 触摸事件,判断滑动方向
Feb 21, 2024
Android 性能专题 - 插件化预热-拼多多为什么只有26M-GPT4快问快答
Feb 21, 2024
Android 性能专题 - 启动优化(一)启动耗时
Feb 10, 2024
Android Glide 三种池子
2023
Sep 10, 2023
从零开始写一个 ARouter - router-annotation 路由注解模块
Sep 10, 2023
从零开始写一个 ARouter - base 基础功能 与 core 核心功能
Sep 10, 2023
从零开始写一个 ARouter - exception 异常与 callback 回调
Sep 10, 2023
从零开始写一个 ARouter - service 服务
Sep 10, 2023
从零开始写一个 ARouter - template 模板
Sep 10, 2023
从零开始写一个 ARouter - launcher 启动器
Sep 10, 2023
从零开始写一个 ARouter - utils 工具类
Sep 10, 2023
从零开始写一个 ARouter - compiler 编译模块
Sep 08, 2023
11. 二叉树-DFS (迭代)
Sep 08, 2023
12. 二叉树-BFS
Sep 08, 2023
10. 二叉树-DFS (递归)
Aug 29, 2023
Android MVI GPT4 快问快答
Aug 29, 2023
Android 音视频屏幕旋转方案
Aug 29, 2023
Android 音视频屏幕旋转方案
Aug 29, 2023
C++ 第一课-万物皆地址
Aug 29, 2023
C++ 函数指针与指针函数,C++11 新特性
Aug 23, 2023
Android Game Project 核心 Renderer.cpp
Aug 23, 2023
OpenGL ES 3.0 开发(一):绘制一个三角形
Aug 23, 2023
Android Game Project 项目结构
Aug 23, 2023
OpenGL ES 3.0 开发(二):纹理映射
Aug 23, 2023
OpenGL ES 3.0 开发(三):YUV 渲染
Aug 23, 2023
OpenGL ES 3.0 开发(四):VBO、EBO 和 VAO
Aug 23, 2023
OpenGL ES 3.0 开发(五):FBO 离屏渲染
Aug 23, 2023
第三方网站分享
Aug 15, 2023
Android Bitmap 性能专题 - Bitmap 内存从申请到回收
Aug 11, 2023
协程中的取消与异常:取消操作详解
Aug 11, 2023
协程核心概念:CoroutineScope 与 CoroutineContext
Aug 11, 2023
Android aar 文件到底是什么
Aug 11, 2023
Android aar 文件到底是什么
Aug 11, 2023
Kotlin中的惰性操作容器——Sequence
Aug 11, 2023
Kotlin中有哪些类
Aug 11, 2023
java.util.Stack 类为什么是线程安全的
Aug 11, 2023
Java Stack 过时了吗
Aug 11, 2023
ArrayDeque 和 java.util.Stack 和 MutableList 实现与扩容策略
Aug 11, 2023
ArrayDeque 的接口
Aug 11, 2023
6. N 字形变换
Aug 11, 2023
5. 最长回文子串
Aug 11, 2023
4. 寻找两个正序数组的中位数
Aug 11, 2023
3. 无重复字符的最长子串
Aug 11, 2023
2. 两数相加
Aug 11, 2023
1. 两数之和
Aug 11, 2023
23. 构建前缀树(字典树)
Aug 11, 2023
22. 动态规划-自顶向下法
Aug 11, 2023
21. 回溯
Aug 11, 2023
20. 二分查找-贪心问题
Aug 11, 2023
19. 二分查找-重复元素,最右边的插入点
Aug 11, 2023
18. 二分查找-重复元素,最左边的插入点
Aug 11, 2023
17. 二分查找
Aug 11, 2023
16. 找到堆的前 k 个元素
Aug 11, 2023
15. 图-BFS
Aug 11, 2023
14. 图-DFS (迭代)
Aug 11, 2023
13. 图-DFS (递归)
Aug 11, 2023
09. 单调递增栈
Aug 11, 2023
08. 找到符合确切条件的子数组数
Aug 11, 2023
07. 反转链表
Aug 11, 2023
06. 链表-快慢指针
Aug 11, 2023
05. 高效的字符串构建
Aug 11, 2023
04. 构建前缀和
Aug 11, 2023
03. 滑动窗口
Aug 11, 2023
02. 双指针-有两个输入, 两个都需要遍历完
Aug 11, 2023
01. 双指针-只有一个输入, 从两端开始遍历
Aug 11, 2023
01/80 统计素数个数-暴力算法
Aug 11, 2023
02/80 统计素数个数-埃氏筛选法
Aug 11, 2023
03/80 删除排序数组中的重复项
Aug 11, 2023
04/80 寻找数组的中心下标