文档章节

Android为什么使用Binder-android学习之旅(101)

fengsehng
 fengsehng
发布于 2016/11/09 09:18
字数 315
阅读 4
收藏 0

基础知识

Android进程和linux进程一样,他们只运行在进程固有的虚拟空间中。一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间 ,用户空间是非共享的,内核空间是共享的,如下图:

这里写图片描述

inux本身就提供了IPC工具,但是android中的Binder功能更丰富,不仅可以用来实现进程件的IPC通信,还可以用来调用另一个进程的函数,支持RPC操作,Binder使用运行在内科空间中的抽象驱动程序Binder(IPC) Driver,来实现进程间的通信,如下图:

这里写图片描述

Android使用Binder机制的原因有两个:

1.首先Binder采用了linux的优秀的内存管理技术,binder的UID和pid都是binder在内核空间添加身份标识,实现私有的通道,能保证数据的正确性。

2.使用用户空间无法访问的内存空间来交换数据,保证了IPC的安全性

3.支持调用另外一个进程的函数,实现了RPC功能,给予cs框架,比通信的socket效率高。

至于具体的介绍如下:

Android Binder IPC详解

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
Android 源码分析之旅1--系统架构与分析方法、工具

《Android 源码分析之旅》目录 apefwkall.png 《Android 源码分析之旅》的全部目录将作如下安排: 第1章节——本篇文章,将介绍一些基本的概念、方法、工具。 第2章节——着重介绍Binder IP...

猴亮屏
2017/10/19
0
0
2017 我用 5 个月分享了 98 篇优秀博文

对上半年所分享的文章进行一个整理,很多读者当时忘记了收藏,以致于查找一篇历史文章很费劲,因此在这里顺便做下记录。目前就分下下面几个大类,没有更多细分,已基本可以查找了。 如果觉得...

code小生
2018/10/30
0
0
Android之旅[1] - Architecture

本文只要是阅读Anatomy-Physiology-of-an-Android的随笔记录。 Anatomy意为解剖,是一种静态视角。Physiology意为生理,是一种动态视角。原文就是通过这两种角度来分析Android的。 Android基...

开源中国驻成都办事处
2012/11/19
0
0
android源码分析网上随笔记录

百度查“android源码分析工具”时发现有一篇知乎文章:巨人的肩膀 其它

whoisliang
2018/03/22
0
0
Android中BindService方式使用的理解

最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现。 BindService和Started Service都是Service,有什么地方不一样呢: 1....

大凉龙雀
2013/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Math-Model(二)-无向图最近邻路径搜索

%a=xlsread('../附件一:已结束项目任务数据.xls');clcclearGPS_1=importdata('../GPS_DATA.txt');GPS_2=importdata('../GPS_DATA2.txt');%X=min([min(GPS_1(:,1)),min(GPS_2(:,1))]):......

Pulsar-V
11分钟前
2
0
react-navigation的学习

react-navigation的学习 react-navigation地址:https://reactnavigation.org/docs/en/navigating 导入的路由: import React from "react";import { View, Text } from "react-native";......

android-key
11分钟前
0
0
flume整合kafka,实现exactly one的数据采集

flume-kafka source配置 flume同步kafka的数据需要配置以下几个配置 type,数据源类型,如org.apache.flume.source.kafka.KafkaSource channels,下游对接source的channel名 topics,消费kaf...

厮以为
12分钟前
2
0
推荐:2019年十佳DevOps工具

DevOps落地重要的一方面是选好工具集,本文介绍了最流行的DevOps工具。 开发和运维的集成翻开了软件开发的全新篇章。如果你还是DevOps的新手,或者正在寻求改进已有流程的方法,那么第一道关...

架构师springboot
17分钟前
2
0
威胁预警|首现新型RDPMiner挖矿蠕虫 受害主机易被添加恶意账户

近日,阿里云安全发现一种新型挖矿蠕虫RDPMiner,通过爆破Windows Server 3389端口RDP服务的方式进行挖矿木马传播,致使用户CPU占用率暴涨,机器卡顿,更被创建名为DefaultAccount的账号。攻...

阿里云官方博客
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部