Android FrameWork笔记
文章平均质量分 60
ljt2724960661
这个作者很懒,什么都没留下…
展开
-
Android源码笔记-输入事件(二)
这一节主要了解输入事件的获取,InputReaderThread继承自C++的Thread类...原创 2024-04-05 23:04:41 · 438 阅读 · 0 评论 -
Android源码笔记--网络(二)
这一节主要了解ConnectivityService,这个api在Android网络里使用较常见,它是Android网络管理的中心,它是在SystemServer中创建的原创 2022-12-17 16:43:23 · 1427 阅读 · 0 评论 -
Android源码笔记--存储
这一节主要学习存储相关源码,Android的存储系统主要由SystemSever进程中的MountService和Vold进程中的VolumeManager组成,它们管理着系统的存储设备,执行各种操作,包括mount、unmount、format等。原创 2022-12-11 20:14:51 · 775 阅读 · 0 评论 -
Android源码笔记--网络(一)
Android网络管理的核心是ConnectivityService 和 NetworkManagerService服务.ConnectivityService主要提供网络连接管理服务,NetworkManagementService主要提供物理网络管理服务。原创 2022-12-11 11:04:09 · 1741 阅读 · 0 评论 -
Android源码笔记--恢复出厂设置
最近在学习Android系统源码,这一节主要是恢复出厂设置。原创 2022-11-13 11:03:20 · 3378 阅读 · 0 评论 -
Android源码笔记--MediaPlayer
最近在学习视频播放器相关的项目,其中用的是MediaPlayer来做的,觉得不能只是停留在表面调用上,于是抽时间看了一下MediaPlayer的底层源码,做个记录,方便复习回顾。通过了解底层的源码以方便你熟悉这个动作执行的流程及遇到bug时的快速排查, MediaPlayer是Android中一个多媒体播放类,我们能通过它控制音视频流或本地音视频资源的播放过程。 2...原创 2019-03-06 22:52:38 · 634 阅读 · 0 评论 -
Android源码笔记--SharedPreferences
SharePreferences SharePreferences相信学过Android的人基本都会用它,太常见了,但是因为它常见,使得很少去了解它。抽了时间总结一下。常见用法:SharedPreferences sharedPreferences = getSharedPreferences("urlList", Context.MODE_PRIVATE);Shar...原创 2019-02-23 15:49:24 · 517 阅读 · 0 评论 -
Android源码笔记--APK安装过程
在Android的系统中PackageInstaller中有一个PackageInstallerActivity会响应这个Intent。在这个Activity中,有两个重要的成员变量mPm和mInstaller,分别是ApplicationPackageManager和PackageInstaller的实例对象,这两个对象也PackageManagerService和Pac...原创 2018-11-27 23:52:07 · 695 阅读 · 0 评论 -
Android源码笔记--APK卸载过程
Android中应用的卸载主要是通过PackageManager中提供的deletePackage()函数来卸载,该函数通过IPC调用到Pms的deletePackage()函数,继而调用到deletePackageX(); 当在设置中的应用列表中点击一个安装的应用,点击卸载后,会发送一个Intent给UninstallerActivity,在Uni...原创 2018-12-01 21:42:59 · 3038 阅读 · 0 评论 -
Android源码笔记--PackageManagerService启动流程
PackageManagerService启动 Android的应用管理主要是通过PackageManagerService(PMS)来完成的。PackageManagerService服务负责各种APK包的安装,卸载,优化和查询。PMS在启动时会扫描所有APK文件和Jar包,然后把它们的信息读出来,保存在内存中,这样系统运行时就能迅速找到各种应用和组件的信息。扫描过程中...原创 2018-11-19 23:09:22 · 426 阅读 · 0 评论 -
Android源码笔记--Activity的启动过程
Android Activity的启动过程分析 1 Activity的常见启动方式 1.1长按Home键,显示最近运行Task列表,选择启动其中一个Task的当前Activity。 1.2在一个应用中,按Back键,结束当前Activity,返回上一个Activity。 1.3在Home桌面点击应用程序的图标启动应用程序。其实质是启动应用程序的主A...原创 2018-07-04 23:48:55 · 277 阅读 · 0 评论 -
Android源码笔记--Service的启动流程
Service的启动流程 1 Service 服务,没有用户界面,但它会在后台一直运行。应用程序可以启动一个Service,也可以连接一个正在运行中的Service。连接上Service后,就可以调用这个Service中的接口了。应用需要在AndroidManifest.xml中通过标签<service>来声明一个Service,如果在标签中添加了isolateProc...原创 2018-07-05 23:25:57 · 244 阅读 · 0 评论 -
Android源码笔记--Service的启动流程(2)
这篇来写关于Service的第二种启动方式bindService(),这种启动方式也是经常会用到的。简单来看看:#MainActivity.java private MyService bindService = null;Intent intent = null;intent = new Intent(BinderActicityA.this, MyService.class...原创 2018-07-20 08:50:27 · 479 阅读 · 0 评论 -
Android源码笔记--Binder初识
Binder初识 这一篇笔记主要是从Java层面来看,Binder,英文的意思别针,回形针。我们经常用别针把两张纸“别”在一起。在Android中,Binder用于完成进程间通信(IPC),即把多个进程“别”在一起。 Binder是一种框架,它提供了服务端接口,Binder驱动,客户端接口三个模块, 首先看服务端,实际就是一个Binder类的对象,该对象一旦创建,内部就启...原创 2018-07-15 12:20:33 · 260 阅读 · 0 评论 -
Android源码笔记--ActivityManagerService
ActivityManagerService ActivityManagerService(AMS)是Android内核的三大核心功能之一,另外两个是WindowManagerService和View。ActivityManagerService它管理着四大组件,Android希望模糊进程的作用,取而代之以组件的概念,ActivityMangerService是这一理念的实现者。其次是...原创 2018-07-22 16:21:02 · 396 阅读 · 0 评论 -
Android源码笔记--应用窗口创建
应用窗口的的创建 这一节主要来记录Android应用窗口的创建,大体步骤如下: 1 每个应用窗口都对应一个Activity对象。因此创建应用窗口首先需要创建一个Activity对象。而每个客户端进程都对应一个ActivityThread类,启动Activity的任务最终交由ActivityThread完成。启动某个Activity的代码本质是构造一个Activi...原创 2018-08-26 12:13:24 · 239 阅读 · 0 评论 -
Android源码笔记--Window窗口
Window 1 window介绍 Android中window是由WindowManagerService(WMS)管理,包括增加和删除窗口,确定窗口的大小和位置,以及实现窗口的切换,窗口的动画等功能。从WMS的角度来看,一个窗口并不是Window类,而是一个View类。Wms收到用户消息后,需要把消息派发给窗口,View本身并不能直接接收Wms传递过来的...原创 2018-08-21 07:51:59 · 268 阅读 · 0 评论 -
Android源码笔记--SystemUI
SystemUI SystemUI是Android为用户提供系统级别的信息显示与交互的一套UI组件,它包含屏幕顶端的状态栏,底部的导航栏,图片壁纸及RecentPanel(近期使用的APP).SystemUI的表现形式与普通应用类似,也是以一个APK的形式存在于系统之中。其中比较特殊的是状态栏和导航栏的启动方式,它们运行在一个SystemUIService中。现以导航栏的启动方式为...原创 2018-08-31 23:25:54 · 1669 阅读 · 0 评论 -
Android源码笔记--SystemUIVisibility
SystemUIVisibility 最近在学习SystemUI时,涉及到了SystemUIVisibility,在此记录一下。虽然StatusBarManager以及StatusBarManagerService为应用程序以及系统服务提供了操作状态栏与导航栏的所有接口,但是这些接口并不适用于那些没有系统签名的普通应用程序。如果普通应用程序希望对状态栏以及导航栏进行操作,...原创 2018-09-19 22:48:01 · 2797 阅读 · 0 评论 -
Android源码笔记--窗口动画管理
窗口动画管理 Android的应用启动时,或者切换Activity时都会以动画方式显示前后两屏切换的过程。动画的原理:把一帧帧的图像按一定时间间隔显示出来就完成了。 动画绘制需要定时驱动,通常的做法是启动一个定时消息,每个一定时间发一个消息,收到消息后输出一帧画面。Android支持VSync信号后,动画的驱动就由VSync信号来承担。窗口动画的基本元素是窗口Su...原创 2018-09-30 23:52:50 · 536 阅读 · 0 评论 -
Android源码笔记--WindowManagerService
WindowManagerService WindowManagerService(WMS)是Android中图形用户接口的引擎,它管理着所有窗口.这里说的管理是指“创建,添加,删除”,以及将某个窗口设置为焦点窗口(正在与用户交互的窗口)。在WMS中,窗口由两部分内容构成的,一部分是描述该窗口的类WindowState,另一部分是该窗口在屏幕上对应的界面Surface....原创 2018-09-28 22:51:31 · 781 阅读 · 0 评论 -
Android源码笔记--BroadcastReceiver管理
1.BroadcastReceiver的理解 BroadcastReceiver本质就是通过Intent来执行应用中的一个方法,在应用中不需要长期存在。BroadcastReceiver可以分两类:1.1 静态接收者 1.2 动态接收者,如果不需要接收广播了,可以通过unregisterReceiver()接口取消注册。BroadcastReceiver的onReceive()方法如...原创 2018-07-11 00:09:11 · 338 阅读 · 0 评论