- 博客(443)
- 资源 (19)
- 收藏
- 关注
原创 【计算机通识】EBML结构深度解析:下一代多媒体容器的基石
1.2 核心设计原则自描述性:无需外部Schema即可解析基础结构无限扩展:通过Element ID层级系统支持无限扩展后向兼容:解析器可安全跳过未知元素流式友好:支持无限长度元素和流式写入高效编码:使用可变长度整数,小值用小存储
2025-12-11 21:07:50
951
原创 【计算机通识】MP4 Box(Atom)结构深度解析
Box(Atom) 是MP4文件的基本组织单元,每个Box都是一个自包含的数据块整个MP4文件本质上是一个嵌套的Box树形结构设计理念:“Everything is a box” - 所有数据、元数据、索引都以Box形式组织
2025-12-11 21:02:49
902
原创 【翻译】scrcpy(3.3.3)命令使用文档
声明:以下是在 Windows 电脑上的scrcpy --help 输出翻译,不确保其他平台是否一样。
2025-12-02 10:47:29
627
原创 【底层机制】Android图形渲染体系深度解析:VSync信号机制
在Android图形渲染体系中,VSync(Vertical Synchronization,垂直同步)是贯穿CPU、GPU与显示器协同工作的核心机制。它不仅解决了画面撕裂、卡顿等关键问题,更定义了Android渲染的"时间节拍"
2025-11-21 18:26:08
1978
3
原创 【穿越Effective C++】23.宁以non-member、non-friend替换member函数
这个条款揭示了C++软件设计的一个重要原则:通过使用非成员非友元函数来最大化类的封装性。这种方法不仅减少了类接口的复杂度,还提高了代码的可维护性和可扩展性,是构建模块化软件系统的关键策略
2025-11-21 17:46:44
1059
2
原创 【穿越Effective C++】条款22:将成员变量声明为private——封装的边界与设计的自由
这个条款揭示了C++类设计的核心封装原则:成员变量应该声明为private,这不仅是技术选择,更是软件设计哲学的体现。通过严格控制数据访问,我们获得了实现灵活性、接口稳定性和维护便利性
2025-11-19 18:23:02
770
原创 【底层机制】Android OTA更新系统:原理与应用深度解析
OTA(Over-The-Air)更新是指通过无线网络下载和安装系统更新的技术。在Android生态中,OTA更新系统是一个复杂而精密的工程,涉及多个系统组件和严格的安全验证。
2025-11-19 17:57:58
1675
原创 【穿越Effective C++】条款21:必须返回对象时,别妄想返回其reference——对象返回的语义与效率平衡
这个条款揭示了C++函数返回语义的核心原则:当函数必须返回新对象时,应该直接返回值而非引用。试图返回局部对象的引用会导致悬空引用,而返回其他生命周期受控对象的引用则会带来接口复杂性和潜在错误。
2025-11-18 18:15:30
484
原创 【穿越Effective C++】条款20:宁以pass-by-reference-to-const替换pass-by-value——参数传递的效率与语义
这个条款揭示了C++函数参数传递的核心优化策略:通过const引用传递可以避免不必要的对象拷贝,同时保持语义的正确性。这是构建高性能C++系统的关键技巧,需要在效率、安全性和表达力之间找到平衡
2025-11-17 17:02:39
590
原创 【底层机制】Ashmem匿名共享内存:原理与应用深度解析
Ashmem是Android高效内存管理的基石之一,它通过文件描述符和pin/unpin机制,实现了高性能、可回收的进程间大内存共享。它在图形系统、多媒体等性能关键路径上扮演着不可替代的角色
2025-11-17 16:47:27
1018
原创 【穿越Effective C++】条款19:设计class犹如设计type——用户定义类型的艺术与科学
这个条款揭示了C++面向对象设计的核心理念:定义新class就是定义新type。优秀的class设计应该让用户定义类型与内置类型无缝协作,这要求我们在设计时考虑类型系统的完整性、一致性和直观性
2025-11-14 16:40:41
969
原创 【底层机制】Android内存管理技术深度解析:PMEM、ION与DMA-BUF Heaps
在移动设备开发领域,高效的内存管理对于系统性能至关重要。特别是多媒体处理、图形渲染和硬件加速等场景,需要特殊的内存管理机制来满足低延迟、高带宽和零拷贝的需求。Android系统在其发展历程中经历了从PMEM到ION,再到DMA-BUF Heaps的技术演进。本文将深入剖析这三种关键技术的底层原理、实现机制和优劣对比
2025-11-14 10:49:57
609
原创 【穿越Effective C++】条款18:让接口容易被正确使用,不易被误用——API设计的艺术与科学
这个条款揭示了优秀软件设计的核心哲学:优秀的接口应该引导用户走向正确用法,同时让错误用法在编译期或运行期难以发生。这是构建可维护、可扩展软件系统的基石。
2025-11-12 18:11:08
895
原创 【底层机制】 Android ION内存分配器深度解析
ION(I/O Memory Manager)是Android系统中专门为多媒体和图形处理设计的内存管理框架。它解决了在异构计算环境中不同硬件组件(CPU、GPU、DSP、摄像头等)之间高效共享内存的挑战。
2025-11-11 16:35:10
1048
原创 【穿越Effective C++】条款17:以独立语句将newed对象置入智能指针——异常安全的智能指针初始化
这个条款揭示了C++异常安全中一个微妙但危险的陷阱:在复合语句中创建智能指针可能导致资源泄漏。理解这一原则是构建异常安全代码的关键。
2025-11-11 16:18:27
595
原创 【底层机制】Android低内存管理机制深度解析
Android低内存管理机制是一个复杂而精密的系统,通过多层次协作在有限的内存资源下维持系统性能和稳定性
2025-11-10 21:23:39
1089
原创 【穿越Effective C++】条款16:成对使用new和delete时要采用相同形式——内存管理的精确匹配原则
这个条款揭示了C++动态内存管理中最基本但常被忽视的规则:new/delete形式必须严格匹配。理解这一原则是避免内存泄漏和未定义行为的关键。
2025-11-10 21:14:18
704
原创 【底层机制】Android对Linux线程调度的移动设备优化深度解析
Android对Linux线程调度的移动设备优化是一个系统工程,涉及调度算法、功耗管理、热控制、实时性保证等多个维度。这些优化共同目标是:在有限的电池容量和热约束下,提供流畅的用户体验。
2025-11-07 18:24:27
1283
原创 【穿越Effective C++】条款15:在资源管理类中提供对原始资源的访问——封装与兼容性的平衡艺术
这个条款揭示了RAII设计中的一个关键权衡:如何在保持资源安全封装的同时,提供与现有API的兼容性。正确的原始资源访问设计是构建实用资源管理类的关键
2025-11-07 18:04:52
945
原创 【底层机制】ART虚拟机深度解析:Android运行时的架构革命
ART(Android Runtime)是Android操作系统上的应用运行时环境,取代了最初的Dalvik虚拟机。从技术本质看,ART是一个基于AOT(Ahead-Of-Time)编译的托管代码执行环境,负责Android应用的字节码翻译、内存管理、线程调度和系统服务交互
2025-11-06 18:24:54
1772
原创 【穿越Effective C++】条款14:在资源管理类中小心copying行为——RAII类的拷贝语义设计
这个条款揭示了RAII类设计中一个关键但常被忽视的问题:拷贝行为的选择直接影响资源管理的正确性和效率。正确的拷贝语义设计是构建健壮资源管理类的核心
2025-11-06 18:16:45
690
原创 【底层机制】垃圾回收(GC)底层原理深度解析
作为开发者,深入理解GC底层原理不仅有助于编写更高效的代码,更重要的是培养系统级思维,在抽象便利性与执行效率间找到最佳平衡点。随着新硬件和新编程范式的出现,GC理论将继续演进,为构建更可靠的软件系统提供理论基础。
2025-11-05 18:31:16
643
原创 【穿越Effective C++】条款13:以对象管理资源——RAII原则的基石
这个条款揭示了C++资源管理的核心理念:通过对象的生命周期自动管理资源,避免手动资源管理带来的泄漏和错误。这是C++最重要的设计原则之一,也是现代C++编程的基石。
2025-11-05 18:11:49
1094
原创 【底层机制】LeakCanary深度解析:从对象监控到内存泄漏分析的完整技术体系
LeakCanary基于自动化检测和最小侵入性原则构建,其设计目标是在开发阶段主动发现内存泄漏,而非依赖事后分析。系统采用观察者模式与引用队列机制的结合,实现对象生命周期的无缝监控。
2025-11-04 18:26:39
767
原创 【穿越Effective C++】条款12:复制对象时勿忘其每一个成分——完整对象拷贝的艺术
将完整拷贝视为C++类设计的基本契约。培养"拷贝完整性思维"——在实现每个拷贝操作时都问自己:“这个操作是否复制了对象的完整状态?包括所有基类部分和所有数据成员?” 这种系统性的思考方式是构建正确C++类的关键
2025-11-04 18:15:39
878
原创 【底层机制】解析Espresso测试框架的核心原理
Espresso的原理可以概括为:通过强大的同步引擎(UI线程监控 + IdlingResource),在应用处于一个稳定、可预测的状态时,才安全地执行交互和断言。对于开发者:你看到的是简洁、流式的API。对于框架:背后是严密的等待、检查、注入和验证流程
2025-11-03 16:30:12
990
原创 【穿越Effective C++】条款11:在operator=中处理“自我赋值“——资源管理的关键安全网
将自我赋值处理视为C++资源管理类的"基本卫生"。培养"自我赋值思维"——在实现每个赋值操作符时都问自己:"如果对象给自己赋值会发生什么?如果赋值过程中抛出异常对象会处于什么状态?" 这种防御性编程思维是构建工业级C++系统的关键
2025-11-03 16:15:31
673
原创 【计算机通识】认识 RESTful API
简单来说,RESTful API 将网络上的所有事物(数据、服务)都抽象为资源。我们通过统一的接口(HTTP 方法)对资源进行操作,从而实现客户端与服务器的交互。
2025-10-31 16:09:44
816
原创 《穿越Effective C++》条款10:令operator=返回一个reference to *this——赋值操作符的约定俗成
将赋值操作符返回引用视为C++中的"物理定律"。培养"赋值思维"——在实现每个赋值操作符时都问自己:"这个操作符是否支持链式使用?行为是否与内置类型一致?" 这种一致的思维方式是编写专业级C++代码的关键。
2025-10-31 15:45:39
517
原创 【技术选型】前端框架:Vue vs React - 组合式API与Hooks的哲学之争
在纷繁复杂的前端世界中,Vue 和 React 作为两大主流框架,其竞争与演进始终是开发者关注的焦点。随着 Vue 3 的 Composition API 和 React 的 Hooks 模式成为新时代的标准,二者的对比已经从简单的语法差异,上升到了设计哲学与心智模型的层面。本文将深入这场“哲学之争”,从五个关键维度为您提供一份客观、全面的选型指南
2025-10-31 15:20:02
638
原创 【C++】【常见面试题】最简版带大小和超时限制的LRU缓存实现
关键实现要点1. 数据结构选择• 双向链表:维护访问顺序• 哈希表:快速查找节点2. 淘汰策略• 容量满时删除最久未使用的节点• 访问时自动检查并删除超时节点3. 时间管理• 使用steady_clock记录节点时间戳• 访问时更新节点时间
2025-10-30 18:11:09
477
原创 条款9:绝不在构造和析构过程中调用virtual函数——C++对象构造顺序的陷阱
将构造和析构视为对象的"脆弱期"。培养"构造安全思维"——在编写每个构造函数时都问自己:“我在这里调用的函数是否依赖于对象的多态行为?” 这种严谨的态度是构建健壮面向对象系统的关键
2025-10-30 18:05:27
846
原创 【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
写出高性能、低卡顿的代码:通过避免内存泄漏和减少不必要的对象分配。快速定位和解决内存问题:当发生OOM或内存抖动时,能迅速找到根源。建立良好的内存观:知道代码的每一行背后可能发生什么,做到心中有数。
2025-10-30 17:53:27
1091
原创 【提示词】【AI智能体】业务文档问答智能体如何精心设计提示词?
显式优于隐式:不要指望AI能猜出你的意图,把所有规则都写清楚。结构化:使用清晰的模块和分隔符,帮助AI理解不同部分的职能。具体化:避免“回答得好一点”这种模糊指令,用“答案控制在100字内”来代替。防御性设计:预先考虑到AI可能犯的错误(如胡编乱造),并通过约束条款将其扼杀在摇篮里。迭代测试:用一批典型问题测试这个提示词,根据回答不理想的情况,回头调整提示词的对应部分。例如,如果AI还是用了外部知识,就加强“约束”部分的语气。
2025-10-30 11:10:44
1079
原创 【Android】Dalvik 对比 ART
ART取代Dalvik体现了移动计算发展的必然趋势——用存储空间和安装时间换取运行时性能和能效提升。这种权衡在现代硬件条件下是完全合理的,因为存储空间越来越廉价,而用户体验和电池续航始终是核心诉求
2025-10-29 22:42:20
752
原创 【穿越Effective C++】条款8:别让异常逃离析构函数——C++异常安全的关键支柱
这个条款揭示了C++异常处理中最重要的规则之一:析构函数绝不能抛出异常。这是构建异常安全代码的基石,理解这一点对于开发健壮的C++系统至关重要
2025-10-29 22:22:18
656
原创 【Android】Android Framework 的那些核心子系统及其功能详解
Android Framework(安卓框架层)是连接应用层与底层 Linux 内核及硬件抽象层(HAL)的核心中间层,其内部按功能划分为多个子系统(Subsystem) 。这些子系统相互协作,为应用提供统一的 API 接口,并管理设备硬件资源、系统服务及应用组件的运行
2025-10-29 16:11:15
934
原创 【Android】【JNI多线程】JNI多线程安全、问题、性能常见卡点
必须遵守的原则绝不跨线程使用JNIEnv局部引用不跨线程,全局引用要管理线程结束时记得分离(RAII最佳)多线程访问共享数据要加锁
2025-10-29 11:22:07
429
原创 【C++】【C++面试】Android SO 体积优化技术点梳理
链接器仅保留动态符号直接 / 间接引用的 Section,删除无用 Section;:通过链接器参数,排除依赖静态库(.a)中的符号导出(visibility/static 无法实现);:存储中间表示(IR)——GCC 用 GIMPLE,Clang 用 LLVM IR;:通过编译器优化级别,用更少的机器指令实现相同功能(优先减体积,性能可能略有损失);ndk-build 项目:默认禁用,无需配置(若已开启,需确认无依赖后禁用)。:通过链接器参数指定导出符号,支持静态库符号、通配符、删除默认符号(如。
2025-10-29 11:04:32
883
原创 【底层机制】深入浅出地、系统地剖析 Appium 的原理
Appium 的本质是一个 遵循 WebDriver 协议的、用于自动化原生/混合/移动端 Web 应用的 HTTP Server
2025-10-29 09:34:22
955
创建一个多边形Active控件
2012-12-10
NIIT课堂笔记
2012-12-11
动态链接库运算器
2012-12-10
JAVA核心技术:卷Ⅰ基础知识
2013-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅