美文网首页
FW-Binder机制

FW-Binder机制

作者: 挖打发 | 来源:发表于2021-04-27 19:12 被阅读0次

问题1 应用是怎么启用Binder机制

1 什么时候支持Binder机制

应用进程启动流程 启动binder驱动的函数,并将binder驱动映射到当前进程的内存空间

Activity.oncreate()应用在启动第一个activity时,getSystemService就能拿到系统服务,然后调用系统服务,这里面就用到了binder机制,再往早些,再Application.onCreate()里也用到了Binder机制,说明启用Binder机制的时机更早,如上图应用进程在创建好之后,第一个跨进程通信是和AMS通信的,所以Binder机制启动得更早,应该是在zygote启动应用进程的环节,根据源码得出是在启动应用进程之后的初始化里做的

2 怎么启用Binder机制

最后binder线程进入loop,不断循环的跟binder驱动进行交互

问题2 Binder对象跨进程传递的原理

    考察点:

1 在parcel中传输,首先通过writeStrongBinder写入parcel中,然后通过readStrongBinder在目标进程中读取出来。

2 Binder对象如何写入parcel中?在native层封装了flat_binder_object对象(binder缓冲区,数组中保存flat_binder_object偏移,到了目标进程中parcel根据偏移还原出flat_binder_object),保存到了native层parcel中,parcel对象到了binder驱动层,binder驱动取出flat_binder_object,创建binder_ref,将binder实体对象转换为代理对象

3 binder_ref在目标进程会对应handle,handle往上传会对应BpBinder(native层Binder的对象),BpBinder再往上到BinderProxy到业务层的Proxy(native层的Binder对象转换为Java层的Binder对象)

相关文章

  • FW-Binder机制

    问题1 应用是怎么启用Binder机制 1 什么时候支持Binder机制 Activity.oncreate()应...

  • 摘要

    监狱安全管理的机制,由领导责任机制,安全防控机制,隐患排除机制,应急处置机制,狱情搜集机制组成。领导责任机制,坚持...

  • Android开发者需掌握的进阶技能

    1:熟悉各大Android 机制(handler机制,事件分发机制,binder机制...) 2:熟悉 view ...

  • RunTime

    前言 RunTime简称运行时机制,其实OC就是一种运行时机制(消息机制是运行时机制中最重要的机制) 消息机制:任...

  • android handler 机制 很简单

    1.android handler机制 handler机制,也就是android的异步消息处理机制。但是这个机制不...

  • python内存管理机制

    Python内存管理机制 Python内存管理机制主要包括以下三个方面: 引用计数机制 垃圾回收机制 内存池机制 ...

  • 类加载机制(一)

    加载机制系列类加载机制(一)类加载机制(二)类加载机制(三) 类加载机制 1.JVM把class文件加载到内存,对...

  • 销售管理概述

    概念明晰 企业的三大机制:制造机制,财务机制,销售机制(回收成本的机制) 以行动为导向的营销管理架构:定位、品牌、...

  • 城市形态与价值标准

    目的,思想,价值观——城市运转机制——机制构件:空间物质机制,经济财务运行机制,社会管理体系,文化营造机制等等, ...

  • Runtime

    相关简单介绍 消息机制消息传递机制消息转发机制-动态添加方法消息转发机制-快速转发消息转发机制-慢速转发消息转发机...

网友评论

      本文标题:FW-Binder机制

      本文链接:https://www.haomeiwen.com/subject/mfkprltx.html