定义
HTTP over SSL的简称,即工作在SSL(或TLS)上的HTTP。就是在HTTP之下增加的一个安全层,用于保障HTTP的加密传输
Git已经是我们日常工作开发中最常用到的分布式版本控制系统,大部分人也都知道如何使用它,知道有哪些命令。但同样很多人都在git操作中摔过跟头、翻过车,往往都是通过在网上搜索一番,按照搜索结果敲下命令,或许能解决或许不能。之所以这样,是因为你并不了解每个命令背后的原理,如果了解其本质,就可以更好的帮你梳理思路,而不会迷失在Git众多命令和参数上。这篇文章的目的是用“可视化”动画的形讲解日常开发中常用的命令,让你更好的了解Git的本质。
在Native Binder的系统服务注册过程中,核心是ServiceManager,在Java Binder中,也有一个ServiceManager,然而这个ServiceManager是个Java文件。在Java Binder注册系统服务到也需要用到ServiceManager,那么需要选择一个系统服务来窥探这一过程,这里以常见的ActivityManagerServcie(AMS)为例。
在Binder机制的架构中,分为Java Binder和Native Binder。Java层的Binder可以说是Native层的Binder的镜像,而Java Binder这个镜像归根结底还是依赖Native Binder层的运转,那么Java Binder要和Native Binder肯定需要建立某种联系进行通信,这种联系就是通过JNI,
继续以MediaPlayerService为例,学习系统服务的获取过程。该过程的内容分为两部分,客户端MediaPlayerService请求获取服务和服务端ServiceManager处理请求。
上篇文章以MediaPlayService为例,讲解了系统服务进程注册到ServiceManager的过程,那与之相对应的过程是服务的获取过程。但在这之前需要先了解ServiceManager,之前有说到过defaultServiceManager函数返回BpServiceManager,然后通过命令发送给handle为0的服务端,这个服务端就是ServiceManager。所以首先要了解ServiceManager的启动过程,这样更有助于理解系统服务的注册过程和获取过程。
Binder是Android系统提供的一种IPC(进程间通信)机制。由于Android是基于Linux的内核,因此除了Binder之外,还有其他IPC机制,例如管道和socket等,Binder相对与其他IPC机制来说,更为灵活和方便。对于学习Android的同学来说,是需要也最难掌握的就是Binder机制了,因为Android系统基本上可以看做一个基于Binder通信的C/S架构。它就像网络一样,把Android系统中的各个部分联系在一起,所以要想较好的理解Android,那Binder机制就是一个跨不过去的坎。
Welcome to [Hexo]…