
Android Framework
文章平均质量分 93
Android源码学习技术总结
数的羊都睡了
疯闹过后,寂寥更甚
简书:https://www.jianshu.com/u/0ec3d4718579
展开
-
【Android Framework (十二) 】- 智能硬件设备开发
针对我过往工作经历,曾在一家智能科技任职Android开发工程师,简单介绍下关于任职期间接触和开发过的一些项目经历,智能多与物联网(LOT)进行联系,从对Android智能硬件一无所知到现在算是略有小成,期间踩了很多坑,也接触到了许多非Android方面的知识,现用文章的方式将之记录下来,与大家分享。提到智能硬件其实属于物联网(LOT)的范畴,关于智能硬件的定义,以我理解的角度来看,首先这是一个不同于移动手机的硬件,它本质还是一个可触碰的实质物体;原创 2023-08-15 18:48:42 · 1599 阅读 · 1 评论 -
【Android Framework (十一) 】- InputManagerService
InputManagerService是一个系统服务,主要处理Input事件的传递,包括键盘、鼠标、触摸屏等等,它和WMS密切相关。原创 2023-07-04 08:00:00 · 722 阅读 · 0 评论 -
【Android Framework (十) 】- ContentProvider
ContentProvider是Android的四大组件之一,虽然他没有Broadcast和Service用的频繁。ContentProvider的作用是不同应用之间数据共享,提供一个统一的接口。例如我们我想让其他应用使用自己的数据 就需要使用ContentProvider。1.获取ContentProvider。原创 2023-07-02 15:42:50 · 328 阅读 · 0 评论 -
【Android Framework (九) 】- Broadcast
Broadcast是一个很简单的组件,它是我们应用程序之间传输信息的一种机制。BroadcastReceiver是用来接收来自系统和应用的广播 并对其做出相应的组件,我们发送广播是通过Intent,在Intent中我们可以带我们需要传递的数据。广播的注册:1.静态注册(AndroidManifest中使用receiver标签) 2.动态注册 registerReceiver方法。发送广播:sendBroadcast动态注册。原创 2023-05-07 01:01:03 · 1013 阅读 · 0 评论 -
【Android Framework (八) 】- Service
1,挂载文件系统,创建文件目录 调用selinux_setup权限安全相关2,初始化内存空间 初始化属性服务 创建Epoll 注册监听子进程重启异常操作等,对子进程进行线程守护3,startPropertyServic 开启属性服务 进行监听4,LoadBootScripts 加载init.rc文件 进行解析 调用do_class_start 文件开启service5,Service::Start函数->fork子进程->并且执行app_process文件,开启了zygote1,startVm函数注原创 2023-04-26 08:00:00 · 635 阅读 · 0 评论 -
【Android Framework (七) 】- ActivityManagerService(AMS)
ActivityManagerService,它是Android系统的核心,它管理了系统的四大组件:Activity、Service、ContentProvider、Broadcast。它除了管理四大组件外,同时也负责管理和调度所有的进程。分两种情况,进程未存在,进程已存在。原创 2023-04-25 08:00:00 · 1038 阅读 · 0 评论 -
【Android Framework (六) 】- Launcher
Android系统启动的最后一步是启动一个桌面应用,这个应用用来显示我们已经安装的应用程序,它就是Launcher//判断是否需要开机动画 ALOGI_IF(noBootAnimation , "boot animation disabled");if(!//等待SurfaceFlinger 因为我们想要画到屏幕上就必须要通过SurfaceFlinger //调用run函数 boot -> run("BootAnimation" , PRIORITY_DISPLAY);原创 2023-04-24 01:30:00 · 413 阅读 · 0 评论 -
【Android FrameWork(五)】- ServiceManager
接上一篇文章service_mananger就四个重要的:1.binder_open:打开binder驱动,对BINDER_VERSION进行校验2.binder_become_context_manager:设置自己成为binder上下文的管理者(binder_context_mgr_node)3.binder_loop:给Binder驱动发送BC_ENTER_LOOPER,以及循环读取内容 调用binder_parse解析。原创 2023-04-23 07:00:00 · 718 阅读 · 0 评论 -
【Android FrameWork(四)】- binder & service_manager & ServiceManager
ServiceManager是Android系统为开发者提供的一个服务大管家,当开机之后,由内核态进入用户态之后,会启动system_server进程,在该进程里面会对AMS,PKMS,PMS等等进行创建。然后添加到ServiceManager中。SystemServer算是一个大管家,他整合了系统的各种服务,监控着我们服务,管理服务的周期。而ServiceManager只有一个功能就是提供binder通信,让应用可以获取到系统提供的服务。原创 2023-04-22 22:54:37 · 459 阅读 · 0 评论 -
【Android FrameWork (三)】- SystemServer
Android系统在启动的时候有两个非常重要的进程,Zygote。SystemServer是系统用来启动service的入口,比如我们常用的AMSWMSPMS等都是由它创建的。SystemServer主要是创建SystemServiceManager,对系统服务进行创建、启动以及管理。原创 2023-04-21 01:45:00 · 663 阅读 · 0 评论 -
【Android FrameWork (二) 】- Zygote
通过知识回顾我们了解到 Zygote是init的子进程,Zygote是一个孵化器,system_server和所有的应用程序都是由他创建出来的。最初的时候Zygote进程的名称并不是Zygote而是app_process,Zygote启动后,Linux系统下的pctrl系统会调用app_process,所以把名称换成了Zygote。Zygote他是一个C/S架构。Zygote进程作为服务端,通过Socket的方式和其他进程进行通信。原创 2023-04-20 01:30:00 · 171 阅读 · 0 评论