归档
2026
2025
- 2025年终总结
- Compose Compiler 深入解析:从参数注入到重组执行的 IR 变换全流程
- 为什么设置 clipChildren = false 可以突破父 View 边界?
- Android 字符串资源加载流程解析
- C++ 学习笔记:指针与引用
- 从模拟信号到补码:计算机如何存储和计算数字
- AAR 构建全解析:从解包到 APK 的完整生命周期
- 命名的艺术:从驼峰到蛇形
- 函数与方法:一个容易被忽视的编程概念差异
- Android依赖管理解析:从ext到 Version Catalog的演进
- 一次 Android APK 体积优化实录
- 理解 Kotlin Flow:冷热流与背压处理
- Kotlin 编译器插件(译)
- Kotlin 协程:Job 与 SupervisorJob 的差异
- Paging3核心解析:Kotlin Flow 如何实现内存与数据双高效
- 深入 Compose:从 setContent 到 LayoutNode 绘制原理
- Jetpack DataStore:Android应用中的现代数据存储方法
- Protocol Buffers编码原理
- 重新理解Android事件分发机制
- WorkManager是怎样工作的
- 权力和权利
- Android中的View加载是怎样执行的
- 技术文章的价值思考
- Kotlin泛型和reified
- flutter渲染和布局
- Fragment的故事
- 举报和被举报的
- AI入门指南:从零开始理解人工智能
- LeakCanary检测到内存泄漏之后发生了什么
- Google Play 企业开发者账号注册踩坑记录
- Kotlin的枚举、密封类和密封接口
- 单例模式设计对比分析
- 发布android库到Maven Central
- Fragment重建过程详解
- Kotlin的fun interface
- 协变与逆变解析
- LiveData与StateFlow对比分析
- 协程与Kotlin协程对比
- WebView JavaScript接口实现原理
- 理解Android插件化
- Android序列化方案对比
- Mac终端中使用VS Code打开文件
- DialogFragment取消机制解析
- 2024:我的成长与思考
- Context是什么
- Android代码混淆
- 理解View焦点机制
- ADB protocol
- ADB SERVICES
- ADB README
- ADB OVERVIEW
- 解决系统界面高度变化——WindowInsets
2024
- 软路由安装OpenWrt
- View中避免使用Context参数
- Ubuntu环境AOSP编译指南
- Mac制作Windows启动盘指南
- 理解Kotlin协程
- FreshRSS API使用指南
- Jetpack ViewModel实现原理
- 关于旅行的意义
- Jetpack Lifecycle组件解析
- Jetpack LiveData解析
- 理解Android屏幕适配和最小宽度
- Material Design吸顶效果实现
- Material Design滚动变色效果实现
- 验证suspend all threads
- COW与HProf文件格式分析
- 查身份证的权力
- 删除.gitignore中的文件
- 京东 杨笠 梁文道
- 国籍与文化认同
- Android扩大点击区域
- Android快捷方式开发指南
- Android FFmpeg编译实战
- Android Studio禁用富文本复制
- 面向过程和面向对象
- TextView setText发生了什么?
- WeakReference解决内存泄漏
- 20240527-20240531
- gravity和layout_gravity
- 破解Android绘制常见误区
- Android资源匹配规则详解
- Zip File Format
- 浅谈Service
2023
- 2023:回顾与展望
- 关于OTP、HOTP和TOTP
- OkHttp源码解析之旅
- 判断Activity和Fragment状态的方式
- Android HTTPS抓包原理
- Android快捷方式开发
- Android中常见的尺寸单位
- 透明状态栏和透明导航栏
- VPN代理模式:TUN与TAP对比
- Toast异常:BadTokenException
- 使用SpannableStringBuilder注意事项
- 你需要知道的inlcude标签属性
- SharedPreferences源码深度解析
- Android library模块publish到JitPack完成流程
- Android Studio代理配置指南
- Linux文件系统权限管理
- Gradle显示任务面板技巧
- RecyclerView.shouldIgnore() NPE问题排查日记