社区
Android
帖子详情
关于Andorid新进程中的binder实体
a220315410
2014-03-12 06:39:31
App进程中存在一个Binder实体,ApplicationThread,
ActivityManagerService通过ApplicationThread的代理,和Application进行交互,例如让Application Pause到后台
但是为什么我找不到Application在那边启动binder线程,以监听ActivityManagerService的指令呢?
有哪位知道的,指点下~
...全文
233
3
打赏
收藏
关于Andorid新进程中的binder实体
App进程中存在一个Binder实体,ApplicationThread, ActivityManagerService通过ApplicationThread的代理,和Application进行交互,例如让Application Pause到后台 但是为什么我找不到Application在那边启动binder线程,以监听ActivityManagerService的指令呢? 有哪位知道的,指点下~
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happy08god
2014-03-13
打赏
举报
回复
近日研究Binder,正好也看了下application对应的进程启动及其建立Binder通信的地方。 今天碰巧看到哥们这个帖子,就跟你分享下吧。 请参考: http://blog.csdn.net/luoshengyang/article/details/6747696 主要流程: 1. startViaZygote -> zygoteSendArgsAndGetPid -> openZygoteSocketIfNeeded && sZygoteWriter.write 2. runSelectLoopMode -> peers.get(index).runOnce(); -> Zygote.forkAndSpecialize -> zygoteInit -> zygoteInitNative -> onZygoteInit -> sp<ProcessState> proc = ProcessState::self(); && proc->startThreadPool();
appleeatworms
2014-03-12
打赏
举报
回复
还有,你那个所谓的binder,在android里面是一个用于通信的driver,他的实体实际上是类似socket里面的那个socket对象一样的实例,ApplicationThread只是操作他而已
appleeatworms
2014-03-12
打赏
举报
回复
这段代码不在你的Application里面,在android的源代码里,Activity.java里面。大概的流程是,系统先启动一个线程,线程利用反射机制加载你的apk里面的activity类,生成一个对象实例,然后获得各种service,然后将service跟你的activity实例attach。。。
Andorid
:关于
Bind
er
几个面试问题
bind
er
是一种
进程
间通讯的机制
进程
间通讯需要了解用户空间和内核空间每个
进程
拥有自己的独立虚拟机,系统为他们分配的地址空间都是互相隔离的。如两个
进程
需要进行通讯,则需要使用到内核空间做载体,内核空间是所有
进程
共享的一块内存区域。而用户空间切到内核空间需要使用到系统api ioctl进行通讯。
从AIDL来看
Bind
er
的通信原理(基于
Andorid
8
我们知道AMS给我们返回的一定是
Bind
er
的对象,所以我们去
Bind
er
中
看看// 1// 2// 3可以发现
Bind
er
文件
中
,有两处实现了这个方法,在
Bind
er
类
中
。注释1
中
通过 descriptor标识来返回,mOwn
er
是Bidn
er
本身。注释2、3是实现的,直接返回一个空。在Stub类的构造方法里我们就看到了只要Stub被构建就会调用:按理来说,不可能返回为空,我们应该都是得到一个正宗的 Stub类才对,但是实际上这里出现了偏出。
bind
er
初探
一、引言 前面android
进程
的创建流程(http://blog.csdn.net/newhope1106/article/details/54932800)有提到过
bind
er
,先来看看这部分的代码。 public static final void zygoteInit(int targetSdkV
er
sion, String[] argv, ClassLoad
er
classL
Android
80,490
社区成员
91,375
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章