MCPcopy
hub / github.com/JackyAndroid/AndroidInterview-Q-A / 15.aa48ebad.js

File 15.aa48ebad.js

docs/assets/js/15.aa48ebad.js:None–None  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{288:function(r,e,n){"use strict";n.r(e);var t=n(14),a=Object(t.a)({},(function(){var r=this,e=r._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[e("h4",{attrs:{id:"binder-原理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#binder-原理"}},[r._v("#")]),r._v(" Binder 原理")]),r._v(" "),e("div",{staticClass:"custom-block danger"},[e("p",{staticClass:"custom-block-title"},[r._v("面试官:")]),r._v(" "),e("ol",[e("li",[r._v("Android为什么使用Binder?用 Linux原有的IPC不行吗?")]),r._v(" "),e("li",[r._v("为什么需要Binder驱动?放在用户空间行不行?")]),r._v(" "),e("li",[r._v("匿名共享内存是什么?怎么提高效率的?")])])]),r._v(" "),e("p",[e("strong",[r._v("入门:")])]),r._v(" "),e("ul",[e("li",[e("p",[e("a",{attrs:{href:"https://www.zhihu.com/question/39440766",target:"_blank",rel:"noopener noreferrer"}},[r._v("为什么 Android 要采用 Binder 作为 IPC 机制?"),e("OutboundLink")],1)])]),r._v(" "),e("li",[e("p",[e("a",{attrs:{href:"https://zhuanlan.zhihu.com/p/152237289",target:"_blank",rel:"noopener noreferrer"}},[r._v("说说你对 binder 驱动的了解?"),e("OutboundLink")],1)])]),r._v(" "),e("li",[e("p",[e("a",{attrs:{href:"https://zhuanlan.zhihu.com/p/35519585",target:"_blank",rel:"noopener noreferrer"}},[r._v("写给-Android-应用工程师的-Binder-原理剖析"),e("OutboundLink")],1)])])]),r._v(" "),e("p",[e("strong",[r._v("推荐")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://paul.pub/android-binder-driver/",target:"_blank",rel:"noopener noreferrer"}},[r._v("理解Android Binder机制(1/3):驱动篇"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://paul.pub/android-binder-cpp/",target:"_blank",rel:"noopener noreferrer"}},[r._v("理解Android Binder机制(2/3):C++层"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://paul.pub/android-binder-java/",target:"_blank",rel:"noopener noreferrer"}},[r._v("理解Android Binder机制(3/3):Java层"),e("OutboundLink")],1)])]),r._v(" "),e("p",[e("strong",[r._v("gityuan:")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://gityuan.com/2015/10/31/binder-prepare/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Binder系列—开篇"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"http://gityuan.com/2015/11/01/binder-driver/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Binder系列1—Binder Driver初探"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"http://gityuan.com/2015/11/02/binder-driver-2/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Binder系列2—Binder Driver再探"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"http://gityuan.com/2015/11/07/binder-start-sm/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Binder系列3—启动ServiceManager"),e("OutboundLink")],1)])]),r._v(" "),e("p",[e("strong",[r._v("老罗系列:")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6618363",target:"_blank",rel:"noopener noreferrer"}},[r._v("Android进程间通信(IPC)机制Binder简要介绍和学习计划"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6621566",target:"_blank",rel:"noopener noreferrer"}},[r._v("浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6627260",target:"_blank",rel:"noopener noreferrer"}},[r._v("浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6629298",target:"_blank",rel:"noopener noreferrer"}},[r._v("Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6633311",target:"_blank",rel:"noopener noreferrer"}},[r._v("Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://blog.csdn.net/luoshengyang/article/details/6642463",target:"_blank",rel:"noopener noreferrer"}},[r._v("Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析"),e("OutboundLink")],1)])]),r._v(" "),e("p",[e("strong",[r._v("Binder匿名共享内存原理")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.cnblogs.com/huxiao-tee/p/4660352.html",target:"_blank",rel:"noopener noreferrer"}},[r._v("认真分析mmap:是什么 为什么 怎么用"),e("OutboundLink")],1)]),r._v(" "),e("li",[r._v("回写时机:内存不足、进程crash、调用msync munmap、不设置 MAP_NOSYNC 情况下 30s-60s(仅限FreeBSD)")])])])}),[],!1,null,null,null);e.default=a.exports}}]);

Callers

nothing calls this directly

Calls 2

nFunction · 0.70
eFunction · 0.70

Tested by

no test coverage detected