问题描述
1 | !SESSION 2017-08-29 15:27:40.107 ----------------------------------------------- |
解决办法
- 进程管理器中杀死monitor.exe进程;
- 删除$HOME/.android/monitor-workspace目录
1 | !SESSION 2017-08-29 15:27:40.107 ----------------------------------------------- |
Binder是一个工作在Linux层面的驱动,这 一段驱动运行在内核态。Binder本身又是一种架构,这种架构提供了服务端、Binder驱动和客户端三个模块。
Binder服务端实际上就是一个Binder类的对象,当我们创建一个Binder对象的时候,Binder内部就 会启动一个隐藏线程,该线程的主要作用就是接收Binder驱动发送
来的消息,那么Binder驱动为 什么会给Binder服务端的线程发送消息呢?原因很简单,我们在客户端调用服务端的时候并不能直接调用服务端相应的类和方法,
只能通过Binder驱动来调用。当服务端的隐藏线程收到Binder 驱动发来的消息之后,就会回调服务端的onTransact方法,我们来看看这个方法的方法头:
1 | /** |
SparseArray由两个数组mKeys和mValues存放数据;其中key的类型为int型,这就显得SparseArray比HashMap更省内存
一些。SparseArray存储的元素都是按元素的key
值从小到大排列好的。使用二分查找来判断元素的位置,数据量较小时比HashMap更快。