Android 串口通信(四)XON/XOFF 软件流控
- 2026/02/22 21:57
- 14
- 0
- 0
- 25.4℃
XON/XOFF 是什么? XON/XOFF(也称为 DC1/DC3 流控)是一种软件流控制(Software Flow Control)机制。它通过在数据流中嵌入特殊控制字符来协调发送方和接收方的数据传输速度,防止接收方缓冲区溢出。 核心概念:两个神奇的控制字符 XON/XOFF 使用 ASC
Android 串口通信(四)RTS/CTS 与 DTR/DSR
- 2026/02/22 21:37
- 15
- 0
- 0
- 25.5℃
在 RS-232 串口通信中,除了数据线(TX 发送、RX 接收、GND 地线)外,还有一组控制信号线用于协调通信双方的数据传输。这些控制信号就是 RTS/CTS 和 DTR/DSR。 一、RTS/CTS(请求发送/清除发送) 这是最常用的硬件流控制方式,用于实时控制数据流,防止数据丢失。
Android 串口通信(三)CDC/ACM 是什么?
- 2026/02/22 21:07
- 22
- 0
- 0
- 26.2℃
CDC/ACM 全称是 Communication Device Class / Abstract Control Model(通信设备类 / 抽象控制模型),它是 USB 官方定义的一种标准协议,用于将 USB 设备模拟成虚拟串口(Virtual COM Port)。 拆解理解 CDC (Comm
Android 串口通信(二)VID 和 PID 是什么?
- 2026/02/22 21:03
- 12
- 0
- 0
- 25.2℃
在 USB 设备中,VID 和 PID 是两个重要的硬件标识符: VID (Vendor ID) - 厂商识别码 全称:Vendor ID(供应商识别码) 分配机构:由 USB-IF(USB Implementers Forum,USB实施者论坛)统一分配给每个USB设备制造商 唯一性:每个厂商的V
Android 16kb page size
- 2026/02/22 20:27
- 12
- 0
- 0
- 25.2℃
支持 16 KB 的页面大小 | Compatibility | Android Developers 在 Android 15 及即将到来的 Android 16 中,Google 引入了一个重大的底层变化:支持 16KB 页面大小(Page Size)。 过去 15 年,Android 一直假设
Android数据持久化(五):SP vs. DataStore vs. MMKV
- 2026/02/22 20:08
- 10
- 0
- 0
- 25.0℃
一、 核心原理分析 1. SharedPreferences (SP) 存储格式: 基于 XML 文件,键值对存储。 I/O 模型: 全量读写。初始化时将整个 XML 加载进内存(Map 结构);修改数据时,即使只改动一个字节,也会将整个 Map 序列化并覆盖写入文件。 线程模型: 读操作同步;写操
Android数据持久化(二):SharedPreferences
- 2026/02/22 20:08
- 13
- 0
- 0
- 25.3℃
SharedPreferences(简称 SP)是 Android 开发中最资深的轻量级存储方案。虽然在 2026 年我们有很多现代化的替代品(如 DataStore、MMKV),但理解 SP 的原理依然是每个 Android 开发者打好地基的必修课。 一、 核心定义 SP 是一种基于 Key-Va
Android 数据持久化(一):存储方案概述
- 2026/02/22 17:33
- 12
- 0
- 0
- 25.2℃
在 Android 开发中,持久化(Persistence)是指将数据保存到存储设备中,以确保应用退出或设备重启后数据依然存在。 根据数据的规模、结构化程度以及访问频率,主要有以下几种主流方案: 1. 键值对存储 (Key-Value Storage) 适用于保存应用设置、用户偏好或少量的简单状态。
Gradle:利用 [bundles] 消除冗余的依赖声明
- 2026/02/22 16:37
- 11
- 0
- 0
- 25.1℃
在大型 Android 项目中,有些依赖库往往是“全家桶”出现的。比如: 网络请求:Retrofit + OkHttp + GSON 转换器 + 日志拦截器。 Jetpack Compose:Compose UI + Material 3 + Tooling + Activity Compose。
Gradle:告别 ext 与 buildscript:老项目平滑迁移到 libs.versions.toml 全记录
- 2026/02/22 16:34
- 20
- 0
- 0
- 26.0℃
接手一个几年历史的老项目,打开 build.gradle,映入眼帘的往往是臃肿的 buildscript 块、散落各处的 ext { ... } 变量,以及各个子模块里相互打架的版本号。 如果你想让项目焕然一新,接入 Gradle 官方推荐的 Version Catalog (TOML) 是必经之路