
Android
文章平均质量分 83
Winston -_-
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 图形系统之七:SurfaceFlinger
SurfaceFlinger 是 Android 系统中一个极为关键的系统服务,处于图形显示架构的核心位置,主要负责将各个应用层提供的 Surface(代表可视化的界面元素)进行合成,并最终输出到屏幕显示,起到了承上启下的桥梁作用,衔接应用层与硬件显示层。原创 2024-12-01 18:49:23 · 6092 阅读 · 0 评论 -
Android 图形系统之六:BufferQueue
BufferQueue是Android图形系统的核心组件之一,用于实现生产者-消费者模型的图像数据传递。它负责协调图像缓冲区的分配、传递、显示,广泛用于窗口系统、Surface、OpenGL ES渲染管道等场景。原创 2024-12-01 12:29:12 · 1682 阅读 · 0 评论 -
Android 图形系统之五:Gralloc
Gralloc (Graphics Allocator) 是 Android 系统中的关键组件之一,用于管理图形缓冲区的分配、映射以及处理。在 Android 的图形架构中,Gralloc 充当了 HAL (Hardware Abstraction Layer) 的一部分,为系统和硬件提供了通用的接口,使应用程序能够高效地处理图形数据。原创 2024-12-01 12:07:10 · 2059 阅读 · 0 评论 -
Android 图形系统之四:Choreographer
Choreographer 是 Android 系统中负责帧同步的核心组件,它协调输入事件、动画和绘制任务,以确保界面以固定频率(通常是每 16ms,一帧)流畅渲染。通过管理 VSYNC 信号和调度任务,Choreographer 是实现流畅 UI 体验和高效资源利用的关键。原创 2024-11-29 21:37:01 · 1760 阅读 · 0 评论 -
Android 图形系统之三:SurfaceControl
在 Android 系统中,SurfaceControl 是一个关键的类,用于管理应用窗口和屏幕上的显示内容。它与 SurfaceFlinger 紧密交互,通过 BufferQueue 提供高效的图形缓冲区管理能力。原创 2024-11-29 21:19:20 · 2884 阅读 · 0 评论 -
Android 图形系统之二:ViewRootImpl
ViewRootImpl 是 Android UI 系统的核心类之一,负责将 View 层级树与窗口管理器 WindowManager 联系起来。它是 Android 应用视图的根节点,与 WindowManager 结合,实现视图的绘制、事件分发、窗口更新等功能。虽然 ViewRootImpl 是一个内部类(非公开 API),但它在整个视图渲染管线中至关重要。原创 2024-11-29 21:10:26 · 1570 阅读 · 0 评论 -
Android 图形系统之一:概览
Android 图形系统是一套完整的架构,用于管理从应用绘制到显示屏幕的整个流程。它涉及多个层次和组件,从应用程序到硬件,确保每一帧都能准确、高效地呈现到用户的设备屏幕上。原创 2024-11-27 22:08:08 · 1820 阅读 · 0 评论 -
SurfaceFlinger学习之一:概览
SurfaceFlinger 是 Android 系统中负责合成和显示屏幕内容的关键系统服务,它运行在一个专用的进程中 (system/bin/surfaceflinger)。它的主要职责是将不同应用程序的绘制内容(即窗口或表面)组合起来,通过硬件抽象层(HAL)发送到屏幕上。原创 2024-11-27 21:29:06 · 1098 阅读 · 0 评论 -
Android Binder技术概览
Android中的Binder是一种基于远程过程调用(Remote Procedure Call, RPC)的轻量级通信机制,核心用于 Android 系统中的进程间通信(Inter-Process Communication, IPC)。Binder 是 Android 系统中不可或缺的一部分,支撑着系统服务、应用组件间的高效通信。原创 2024-11-23 20:09:46 · 1299 阅读 · 0 评论 -
Android中的依赖注入(DI)框架Hilt
Hilt 是 Android 提供的一种依赖注入(DI)框架,它基于 Dagger,目的是简化依赖注入的使用,提供更易用的接口和与 Android 生命周期组件的紧密集成。原创 2024-11-23 20:03:28 · 1278 阅读 · 0 评论 -
一文学习Android系统核心服务ServiceManager
ServiceManager 是 Android 系统中核心的系统服务注册与发现机制,它在 Android Framework 层扮演服务注册中心的角色。它允许进程通过它注册、查询和使用系统服务,实现进程间通信 (IPC) 的基础架构。原创 2024-11-23 19:57:04 · 1910 阅读 · 0 评论 -
Perfetto学习大全
Perfetto 是一个功能强大的性能分析和追踪工具,主要用于捕获和分析复杂系统中的事件和性能数据,特别是在 Android 和 Linux 环境下。它的核心目标是帮助开发者深入了解系统和应用程序的运行状态,以便优化性能和诊断问题。原创 2024-11-22 21:46:14 · 2480 阅读 · 0 评论 -
一文学习开源框架LeakCanary
LeakCanary是一个由 Square 开发的开源工具,主要用于检测和诊断 Android 应用中的内存泄漏问题。它通过自动化的方式帮助开发者捕捉和分析可能导致内存泄漏的对象,简化了内存问题的排查过程。原创 2024-11-22 20:59:54 · 1899 阅读 · 0 评论 -
一文学习开源框架EventBus
EventBus 的核心是基于发布-订阅模式,通过EventBus类来管理事件的注册、发布和解除注册。它使用了反射来动态查找订阅者的方法,并通过线程池和 Handler来管理事件处理的线程。事件的发布和处理是异步和同步结合的,支持多线程的灵活调度。通过这种设计,EventBus 实现了高效、解耦的事件分发机制,是一个非常强大的工具,简化了组件之间的通信,提供了简单的 API 和灵活的事件处理机制。然而,它的性能开销、调试困难等问题也需要开发者在使用时进行权衡。原创 2024-11-21 22:04:04 · 1444 阅读 · 0 评论 -
一文教会你如何解决Android的ANR问题
ANR(Application Not Responding)是 Android 中的一种常见问题。当应用程序未能在规定时间内响应用户输入、完成后台任务或处理系统消息时,系统会弹出一个对话框,提示“应用无响应”。这通常会严重影响用户体验。原创 2024-11-20 20:14:59 · 2143 阅读 · 0 评论 -
Android中常见CPU异常使用场景和解决方案
在Android开发中,常见的CPU异常使用场景通常发生在代码逻辑设计或性能优化不当时,这些问题可能导致CPU使用率过高、频繁的性能问题或耗电问题原创 2024-11-19 22:44:25 · 919 阅读 · 0 评论 -
Android中常见内存泄漏的场景和解决方案
本文讲解Android 开发中常见内存泄漏场景及其解决方案,内容包括代码示例、原因分析以及最佳实践建议。原创 2024-11-19 22:34:19 · 1241 阅读 · 0 评论 -
Android WMS概览
WMS(WindowManagerService)是 Android 系统的核心服务,负责管理应用和系统的窗口,包括窗口的创建、销毁、布局、层级管理、输入事件分发以及动画显示等。它通过协调 InputManager 和 SurfaceFlinger 实现触摸事件处理和窗口渲染,是连接应用界面和底层显示硬件的关键桥梁。原创 2024-11-18 22:52:46 · 1637 阅读 · 0 评论 -
Android中的AMS(Activity Manager Service)详解
AMS (Activity Manager Service) 是 Android 系统中非常核心的服务之一,它负责管理应用程序的生命周期、任务栈、进程、广播、服务等功能。AMS 是整个 Android Framework 的调度中心,它的运作直接影响应用的性能和用户体验。原创 2024-11-17 17:34:21 · 3133 阅读 · 0 评论 -
Android的冷启动流程是咋样的?带你一看究竟!
本文对 Android 应用 冷启动(Cold Start)过程的详细讲解,包括原理、各阶段的源码解析,以及关键的性能优化点。篇幅较长,请耐心阅读。原创 2024-11-16 19:55:38 · 1507 阅读 · 0 评论 -
Android ART知多少?
Android 虚拟机 ART(Android Runtime)是 Android 平台上的应用程序运行时环境,用于执行应用程序的字节码。ART 自 Android 5.0(Lollipop)开始取代了 Dalvik,成为 Android 的默认运行时环境。原创 2024-11-15 21:24:18 · 2782 阅读 · 0 评论 -
一文了解Android的核心系统服务
在 Android 系统中,核心系统服务(Core System Services)是应用和系统功能正常运行的基石。它们负责提供系统级的资源和操作支持,包含了从启动设备、管理进程到提供应用基础组件的方方面面。以下是 Android 中一些重要的核心系统服务的深入介绍。原创 2024-11-14 22:29:12 · 1883 阅读 · 0 评论 -
一文了解Android中的AudioFlinger
AudioFlinger 是 Android 音频系统中的一个关键服务,它运行在系统进程中。主要负责音频的混合(mixing)和输出(output)。其作用是将多个音频流(例如来自不同应用程序的音乐播放、语音通话等音频流)混合成一个单一的音频信号,然后将这个信号发送到音频硬件进行播放。原创 2024-11-14 22:10:56 · 2381 阅读 · 0 评论 -
一文简单了解Android中的input流程
在 Android 中,输入事件(例如触摸、按键)从硬件传递到应用程序并最终由应用层消费。整个过程涉及多个系统层次,包括硬件层、Linux 内核、Native 层、Framework 层和应用层。我们将深入解析这一流程,并结合代码逐步了解输入事件的传递。原创 2024-11-13 21:51:55 · 1685 阅读 · 0 评论 -
结合源码讲解下Android中的截图流程
截图是经常使用到的功能。你了解Android手机截图时发生了什么吗?截图的原理是什么?本来带你一探究竟。原创 2024-11-13 21:36:12 · 1635 阅读 · 0 评论 -
RecyclerView进阶知识讲解
在 Android 开发中,RecyclerView 是一种高效的列表和网格布局控件,用于显示大规模数据。尽管基本使用方法简单,但深入理解并掌握其高级进阶用法能大幅提升用户体验和应用性能。下面,我将从布局管理、动画和手势、自定义缓存、优化性能等方面系统介绍 RecyclerView 的高级用法。原创 2024-11-12 22:21:17 · 991 阅读 · 0 评论 -
Perfetto中如何使用SQL语句
Perfetto 的 SQL 查询强大且灵活,适合多种性能分析场景。通过这些 SQL 查询,你可以有效地提取和分析 Android Trace 数据中的关键信息,以便诊断和优化性能问题。原创 2024-11-11 23:04:01 · 1504 阅读 · 0 评论 -
Android中桌面小部件framework层使用到的设计模式
Android桌面小部件的Framework层通过采用多种设计模式,如观察者模式、单例模式、工厂模式、命令模式、适配器模式、MVC模式、委托模式和桥接模式,实现了高内聚、低耦合的架构。这些设计模式不仅提高了系统的可维护性和可扩展性,还确保了小部件能够高效、稳定地与系统和用户进行交互。在开发自定义小部件时,理解并应用这些设计模式,有助于编写出结构清晰、功能强大的应用。原创 2024-11-09 21:26:50 · 1482 阅读 · 0 评论 -
Android中桌面小部件的开发流程及常见问题和解决方案
在Android中开发桌面小部件(App Widget)可以让用户直接在主屏幕上查看和交互应用内容。以下是桌面小部件的开发流程,包括了创建基本小部件的步骤和示例代码。原创 2024-11-09 21:19:09 · 4050 阅读 · 11 评论 -
一文学习Android中的Treeview
在Android开发中,TreeView是一种用于显示层次结构的组件,可以让用户展开和折叠子项,以方便查看数据的不同层次。TreeView在文件系统、组织架构、目录结构等场景中非常有用,尽管Android并未提供内置的TreeView控件,但可以通过一些方式实现类似效果。下面介绍如何在Android中实现一个简单的TreeView,通常是通过自定义适配器和数据结构来构建。原创 2024-11-08 22:26:51 · 1530 阅读 · 0 评论 -
Android关机流程知多少?
Android 的关机流程从用户触发、系统服务响应到内核执行,分为多个阶段以保证关机的安全性和数据一致性。整个流程的核心在于和协同工作,在关机过程中逐步释放资源、关闭服务,最终通过 Linux 内核完成设备的物理断电。原创 2024-11-08 22:19:58 · 2482 阅读 · 0 评论 -
一文学习Android中的Property
Android 中的property是一种灵活的全局键值对配置方式,具有高效的读取性能。它被广泛用于系统信息标识、设备信息存储以及进程间通信等。了解property的命名规范、使用方法及其背后的实现机制有助于更好地控制和优化 Android 系统。原创 2024-11-08 22:08:33 · 1913 阅读 · 0 评论 -
使用repo命令快速下载Android源码小妙招
加快repo下载速度主要依赖于合理配置线程数、减少不必要的数据同步、并在网络条件允许的情况下选择更合适的镜像源。原创 2024-11-07 23:08:43 · 711 阅读 · 0 评论 -
一文了解Android本地广播
本地广播是一种高效、安全的应用内组件通信方式,适合轻量级的消息传递。然而随着 Android 的演进,已被逐步弃用,推荐在更高版本中采用LiveData或SharedFlow等生命周期感知的组件来实现同样的功能。原创 2024-11-07 22:55:09 · 1284 阅读 · 0 评论 -
Android Parcelable和Serializable的区别与联系
在Android开发中,Parcelable和Serializable是两种用来在组件之间传递数据的序列化机制。它们有不同的使用场景和性能特点。原创 2024-11-07 22:45:54 · 997 阅读 · 0 评论 -
Android中Activity启动的模式
在 Android 开发中,Activity的启动模式(Launch Mode)定义了当启动一个Activity时,系统会如何处理它的实例。不同的启动模式可以影响Activity在任务栈中的管理方式,对用户的导航体验产生直接影响。原创 2024-11-06 22:36:17 · 1311 阅读 · 0 评论 -
一文了解Android SELinux
SELinux在Android系统中起到了重要的安全防护作用。通过强制访问控制,SELinux能够有效限制应用的权限,防止未经授权的访问。开发者可以通过配置策略文件和调试日志,精确地管理应用的权限和访问范围,从而确保系统的整体安全性。原创 2024-11-04 22:27:56 · 1804 阅读 · 0 评论 -
你需要了解的Android主题相关知识
在 Android 中,主题是一种样式集合,应用到 Activity 或应用程序级别,用于设置界面的统一外观和行为。与样式(style)不同的是,主题更具全局性,影响到所有子元素的显示方式,比如颜色、字体、形状等。每个主题可以包含多个属性,例如背景色、前景色、按钮样式等。在themes.xml?Android 主题提供了强大的工具来统一和美化应用的视觉设计。从基础的 Material 主题到自定义主题,开发者可以利用丰富的组件和资源来创建符合品牌和用户需求的界面。原创 2024-11-03 15:08:55 · 1351 阅读 · 0 评论 -
你需要了解的RenderScript
RenderScript 适合那些需要执行高效并行计算的 Android 应用程序,特别是在图像处理和科学计算领域。然而,随着 Android 平台的发展,RenderScript 已逐渐被更现代的图形计算 API 所取代。对于新项目,建议优先选择 Vulkan 或 OpenGL ES 等支持更长久的计算方案。原创 2024-11-02 08:19:03 · 865 阅读 · 0 评论 -
fastboot命令大全
Fastboot 是一个用于与 Android 设备进行低级别交互的工具,通常用于刷入固件、恢复系统或其他调试操作。原创 2024-11-02 08:06:51 · 3155 阅读 · 0 评论