- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 Android SurfaceView 二级双缓冲机制深入分析: 从应用到驱动
本文统简地分析了 Android 中 `SurfaceView` 的双缓冲机制实现。我们会一路跑通从 App 端 `SurfaceHolder.lockCanvas()` 到最终 mmap 显示 buffer 的全过程,并配合 AOSP 和硬件平台代码进行分析。
2025-04-06 22:28:42
808
原创 H.264 核心技术解析:NALU、GOP、SPS/PPS 及关键帧机制
H.264(AVC)是当今应用最广泛的视频编码标准之一,广泛应用于直播、点播、视频会议等场景。理解其核心概念(如 NALU、GOP、SPS/PPS、I/IDR 帧)对开发者优化视频传输、存储和播放至关重要。本文基于深度技术讨论整理,系统解析这些概念及其实际应用。MPEG视频的**基本码流(Elementary Stream, ES)**是编码后的原始视频/音频数据,尚未封装成容器格式(如MP4、TS)。它的结构设计是为了高效压缩和传输。
2025-04-03 22:56:35
838
原创 深入理解Android Binder机制:从Handle到内核红黑树的完整解析
Binder通讯过程中,用户态通过handle抽象远程服务。直接传递指针会带来安全风险。内核态使用红黑树管理复杂的引用关系驱动层维护进程隔离和安全检查这种架构既保证了性能,又提供了必要的安全性,是Android系统稳定运行的基石之一。
2025-03-30 20:43:40
753
原创 JVM内存结构与Java NIO优化实践
本文深入剖析了JVM内存结构,涵盖程序计数器、虚拟机栈、本地方法栈、Java堆及方法区,详细阐述其作用、特点与异常情况。进一步探讨Java NIO,比较Heap Buffer、Direct Buffer和MappedByteBuffer在不同场景下的表现,分析其优缺点与适用性。
2025-03-25 19:29:59
963
原创 深入理解 Android 通知服务:从本地通知到 FCM 推送的实现与实现原理
Android 通知服务通过 NotificationManager 系统服务实现,允许应用向用户发送通知。本文讲述了本地通知,推送和系统通知服务实现原理。
2025-03-23 20:31:41
722
原创 Android App 启动界面(SplashScreen)深入解析:从系统机制到优化实践
在 Android 应用启动过程中,SplashScreen(启动界面)扮演着至关重要的角色。它不仅用于提升用户体验,避免黑屏现象,还涉及 System UI、WindowManagerService (WMS)、ActivityTaskManagerService (AMS) 等多个核心组件的协作。
2025-03-23 16:40:23
871
原创 深入理解 SEAndroid:应用程序目录的 SELinux 安全上下文与访问控制机制
系统进程只能访问特定的系统资源,而应用程序只能访问自己专属的数据目录,且通过 SELinux 策略加以保护。是 SELinux 在 Android 系统中的实现,它增强了 Android 系统的安全性,防止了诸如恶意软件、特权提升等潜在的安全威胁。在 Android 中,DAC 使用的是传统的。在 SEAndroid 中,SELinux 提供了强大的访问控制机制,确保每个应用程序的数据都被隔离和保护。通过这种方式,每个应用的数据目录都被分配了一个独特的安全上下文,以确保应用之间的数据隔离。
2025-03-22 13:28:09
986
原创 LineageOS 21(AOSP14) Winscope 编译运行抓取系统级日志时遇到的问题解决
AOSP 14之前winscope就是一个静态的html页面(winscope.html),新版本同步完后是一个web项目(development/tools/winscope)安装和真机日志抓取过程中会有些问题。
2025-03-02 14:36:01
341
原创 解决使用repo同步中断导致aosp源码可能遇到的失败的问题。
在我们使用repo sync的工程中,由于各种原因同步时间比较久,可能导致各种中断情况,如停电,控制台各种原因被关闭等。再次重新同步就可能出现问题。
2024-12-15 11:00:56
455
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人