1、Binder系统过程分析,情景分析 server提供服务 (1)addService(服务名称,xxx)执行后会导致binder驱动在server的内核空间为服务创建一个binder_node结构体,并且会在service_manager内核空间创建一个binder_ref,其node参数指向s ...
分类:
其他好文 时间:
2018-06-08 22:03:58
阅读次数:
173
1. 内部机制_回顾binder框架关键点 binder进程通讯过程情景举例: test_server通过addservice向service_manager注册服务 test_client通过getservice向service_manager获取服务 然后test_client使用服务和test ...
分类:
编程语言 时间:
2018-06-08 14:05:35
阅读次数:
193
参考文件:frameworks\av\include\media\IMediaPlayerService.h (IMediaPlayerService,BnMediaPlayerService)frameworks\av\media\libmedia\IMediaPlayerService.cpp ...
分类:
编程语言 时间:
2018-06-07 21:50:18
阅读次数:
248
当多个client对server发出请求的时候,如果server忙不过来的时候会创建多线程来处理请求 那么忙不过来由谁来判断? server进程有个binder_proc结构体,其里面有todo链表(放有client发过来的数据),并且会唤醒等待在binder_proc.wait上的线程,如果有线程 ...
分类:
编程语言 时间:
2018-06-07 19:23:51
阅读次数:
212
参考文章:http://www.cnblogs.com/samchen2009/p/3316001.html test_server服务进程可能有多个线程,而在发送数据的时候handle只表示了那个进程 (1)发给谁?handle只表示了那个进程,数据是发给进程还是某个线程 一般数据放在binder ...
分类:
其他好文 时间:
2018-06-07 17:50:35
阅读次数:
188
1. 几个重要结构体的引入给test_server添加一个goodbye服务, 由此引入以下概念: 进程间通信其实质也是需要三要素:源、目的、数据,源是自己,目的用handle表示;通讯的过程是源向实现进程的“服务”发数据,handle是对“服务”的引用,在不同的进程里面handle不一样,即使多个 ...
分类:
其他好文 时间:
2018-06-05 18:41:22
阅读次数:
132
在运行项目的时候报了下面的错误: 这是因为在实体的getID方法上没有加上此@Id注解,但是检查了一次确实加上了,最后的解决办法如下: 是因为id注解引错的包 错误的包路径: 最后得以解决,小伙伴们千万别粗心大意啊 ...
分类:
其他好文 时间:
2018-06-05 13:32:38
阅读次数:
123
在controller层初始化initBinder。 @InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd H ...
分类:
编程语言 时间:
2018-06-01 00:57:46
阅读次数:
195
1. 不能在自定义线程中更新 UI,系统本身不允许 2. 如果想在自定义线程中更新 UI,需要使用 Handler 机制。上一章中的 runOnUiThread 方法也是对 Handler 机制的一种包装 3. AsyncTask 背后的原理也是基于异步消息处理机制的 4. 活动绑定服务,通过活动中 ...
分类:
其他好文 时间:
2018-05-19 18:42:10
阅读次数:
160
参考:http://singleant.iteye.com/blog/934593 http://liuzidong.iteye.com/blog/776072 介绍: 简单日记门面(simple loggi ...
分类:
其他好文 时间:
2018-05-16 17:27:19
阅读次数:
177