Framework学习
文章平均质量分 90
giaoho
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
修改开机动画开发小总结
本文介绍了如何替换Android设备的开机动画。系统会按优先级检查多个路径的bootanimation.zip文件,包括/oem、/product、/system等分区。通过分析源代码发现,设备会优先使用/product/media/bootanimation.zip。此外系统还支持自定义路径/data/mmm/bootanimation.zip,可通过设置persist.sys.mmm.bootanimation.switch属性启用。文章详细说明了动画文件结构、desc.txt配置格式以及系统加载动画的原创 2025-09-11 16:54:44 · 998 阅读 · 0 评论 -
Wifi开发上层学习1:实现一个wifi搜索以及打开的app
Android WiFi控制应用开发 本文介绍了如何开发一个基本的WiFi控制应用,主要功能包括: 获取和修改WiFi状态 扫描并显示可用WiFi网络 记录和连接WiFi网络 开发要点: 需要添加WiFi状态访问和修改权限 Android 10+需位置权限,12+需附近设备权限 使用系统签名配置 界面包含开关、扫描按钮和列表视图 列表项显示WiFi名称、连接状态、信号强度和加密方式 该应用通过WifiManager API实现核心功能,可作为学习Android系统功能的入门实践。原创 2025-09-02 17:13:24 · 669 阅读 · 0 评论 -
Android进程之间的通信方法
Android进程间通信方法摘要 本文介绍了Android应用间三种通信方式:Intent、AIDL和ContentProvider。Intent通信通过显式/隐式Intent启动目标Activity并传递数据,适合单向简单通信;AIDL通过Service实现跨进程方法调用,支持复杂交互;ContentProvider提供数据共享机制。每种方式各有特点:Intent简单易用但功能有限,AIDL功能强大但实现复杂,ContentProvider专为数据共享设计。文中通过详细代码示例展示了Intent和AIDL原创 2025-08-29 08:51:01 · 1276 阅读 · 0 评论 -
Android事件分发机制
Android事件分发机制摘要 Android事件分发机制主要处理用户触摸屏幕时产生的事件传递和处理过程。事件包括ACTION_DOWN、ACTION_UP、ACTION_MOVE和ACTION_CANCEL四个基本动作,组合成事件序列。核心方法包括: dispatchTouchEvent():负责事件分发 onInterceptTouchEvent():ViewGroup中用于拦截事件 onTouchEvent():处理触摸事件 ViewGroup的dispatchTouchEvent()会先检查是否拦截原创 2025-08-26 15:31:50 · 329 阅读 · 0 评论 -
Andorid日志分析总结
Android日志分析摘要 Android日志系统主要分为Kernel、Radio、Event和Main四类日志: Kernel日志记录Linux内核信息 Radio日志记录通信相关日志 Main日志等同于DDMS中看到的应用日志 Event日志记录系统级事件 日志级别从低到高分为V(Verbose)、D(Debug)、I(Info)、W(Warn)、E(Error)、F(Fatal)、S(Silent)。可通过adb logcat命令配合-b参数抓取特定类型日志,如adb logcat -b radio抓原创 2025-08-13 17:51:15 · 1030 阅读 · 0 评论 -
Framework学习:周末小总结以及Binder基础
本文总结了Android系统架构与Binder机制的核心知识。首先介绍了Android的分层架构(硬件层到应用层)及Framework层的关键作用。重点解析了Binder的IPC机制,包括其高效传输、C/S架构和安全性特性。详细说明了核心进程(Init、ServiceManager、Zygote)的启动流程与功能,并厘清了Native层与Framework层的关系。最后提出了Framework开发的学习路径,强调源码阅读和实践验证的重要性。全文以Binder为主线,系统梳理了Android底层通信机制与架构原创 2025-08-10 16:53:58 · 750 阅读 · 0 评论 -
WMS及UI渲染底层原理学习
本文系统介绍了Android UI渲染的核心原理,包括:1) Zygote和System Server的系统进程基础;2) AMS管理应用进程的生命周期;3) WMS作为窗口管理核心的角色;4) UI绘制从invalidate到屏幕显示的完整流程;5) Activity、Window与View的协作关系;6) Surface、SurfaceFlinger等底层渲染机制。文章揭示了Android UI渲染的完整链路,从应用层到系统层的交互原理,为性能优化和问题定位提供了理论基础。通过窗口状态管理、视图测量布局原创 2025-08-06 19:22:15 · 1370 阅读 · 0 评论 -
系统初始化以及Zygote进程fork app进程的基础
本文分析了安卓系统启动流程及Zygote进程的核心作用。系统启动过程包括电源启动、BootLoader加载、Linux内核初始化、init进程创建文件目录和属性服务、Zygote进程启动Java虚拟机并注册JNI方法、SystemServer进程启动系统服务,最后Launcher启动用户界面。重点阐述了Zygote进程如何通过预加载基础资源(如Context、View等)实现快速fork应用进程,解释了使用Zygote而非init直接fork的原因在于资源复用和效率优化。这种设计使得应用进程能共享预加载资源原创 2025-08-05 18:01:41 · 623 阅读 · 0 评论 -
Android进程基础:Zygote
摘要: Zygote是Android系统的核心进程,主要承担进程孵化、预加载资源和内存优化三大功能。它作为所有应用进程的父进程,通过fork机制快速创建子进程,并预加载系统类、资源文件和共享库以提升启动效率。Zygote启动分为系统初始化(由init进程触发)和服务准备(预加载资源、启动SystemServer)两阶段,其工作原理基于fork+特化执行,利用Copy-on-Write机制共享内存,通过Socket通信接收进程创建请求,最终实现高效的应用进程孵化。原创 2025-08-04 18:58:01 · 632 阅读 · 0 评论 -
Android 权限管理基础:权限分类、动态权限申请
Android权限管理分为三类:安装时权限(普通操作)、运行时权限(危险操作如访问私人数据)和特殊权限(系统级操作)。运行时权限需动态申请,示例中通过checkSelfPermission()检测CALL_PHONE权限状态,未授权则调用requestPermissions()弹出授权对话框,并在onRequestPermissionsResult()中处理授权结果。授权成功执行拨号操作,拒绝则提示用户。这种机制保护了用户隐私和系统安全。原创 2025-08-01 17:36:47 · 642 阅读 · 0 评论 -
获取当前活动进程数量最近活跃应用数量等信息
Android进程信息获取方法总结 本文介绍了在Android 15系统上获取当前活动进程和最近活跃应用信息的多种方法。主要内容包括: 系统签名配置:由于Android 15的限制,需要给应用打上系统签名才能获取完整信息 关键权限声明:包括GET_TASKS、REAL_GET_TASKS、PACKAGE_USAGE_STATS等权限 五种进程信息获取方法: 获取运行中的进程数 获取运行中的任务数(需系统权限) 使用UsageStatsManager获取活跃应用数 获取今日活跃应用数 获取最近运行应用数 代码原创 2025-08-01 17:35:13 · 976 阅读 · 0 评论 -
Framework学习:PMS
本文介绍了Android系统中的PackageManagerService(PMS)核心功能与工作机制。PMS负责应用安装、卸载、更新、权限管理及应用信息查询等核心功能。文章详细解析了PMS的启动流程,包括SystemServer初始化、APK扫描解析、权限校验等关键步骤;分析了PMS的关键类如PackageParser、PackageInfo等数据结构;阐述了应用安装、卸载、权限管理等交互流程;并解答了10个PMS常见问题。最后通过一个实验案例,展示了如何通过修改PackageInstallerServi原创 2025-07-31 11:28:14 · 1416 阅读 · 0 评论 -
Android 系统核心服务:ActivityManagerService(AMS)
Android 系统核心服务 ActivityManagerService (AMS) 是 Framework 层的关键组件,负责管理应用生命周期、进程及四大组件运行。AMS 运行在 system_server 进程,通过 Binder IPC 与应用通信,主要功能包括 Activity 生命周期管理、进程管理、Service/Broadcast 管理、任务栈管理及 ANR 检测等。它在系统启动时由 SystemServer 初始化,并通过 ServiceManager 注册为系统服务。AMS 协调 Act原创 2025-07-30 22:15:00 · 1295 阅读 · 0 评论 -
用命令查看Android设备的 Linux 内核版本,了解其对应的硬件支持各种特性
本文介绍了通过ADB命令查看Android设备Linux内核版本及硬件特性的方法。主要内容包括:1)使用uname -a查看内核版本信息;2)通过dumpsys media.camera检测相机驱动支持情况;3)使用dumpsys wifi查看WiFi功能状态及相关参数;4)通过dumpsys nfc检查NFC支持状态和配置信息;5)查询红外发射器节点路径。这些命令可帮助开发者快速了解Android设备的底层硬件支持情况,为功能开发和调试提供便利。原创 2025-07-29 17:59:10 · 1260 阅读 · 0 评论
分享