请教关于Binder的ServiceManager内存相关的一个问题

wingjer 2012-05-22 05:16:08
在Binder中,handle为0是系统ServiceManager。今天看framework的源码,在\base\cmds\servicemanager\service_manager.c中看到如下代码:

int main(int argc, char **argv)
{
struct binder_state *bs;
void *svcmgr = BINDER_SERVICE_MANAGER;

bs = binder_open(128*1024);

if (binder_become_context_manager(bs)) {
LOGE("cannot become context manager (%s)\n", strerror(errno));
return -1;
}

svcmgr_handle = svcmgr;
binder_loop(bs, svcmgr_handler);
return 0;
}

其中binder_open中分配了128K的内存,但是看了相关的其他代码,并没有发现有地方使用了这128K的内存。既然没有使用,分配这么多内存不是浪费吗?

请高手指教,这里分配的内存的用途是什么?
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wingjer 2012-05-23
  • 打赏
  • 举报
回复
请大侠指导,从那些源文件中可以看到这块内存的使用?
xqhrs232 2012-05-22
  • 打赏
  • 举报
回复
很多BINDER机制都靠这个来实现

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧