
Android
文章平均质量分 81
kobbee9
这个作者很懒,什么都没留下…
展开
-
Android深入浅出之Binder机制
Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l ServiceManager,这是Androi转载 2012-03-24 09:37:59 · 658 阅读 · 0 评论 -
android IPC通信中的UID和PID识别
android IPC通信中的UID和PID识别 IPCThreadState对象维护了2个变量 pid_t mCallingPid; uid_t mCallingUid; 从变量名称来看,这2个变量保存了进程的PID和UID,并且由于这两个变量由IPCThrea转载 2012-03-28 09:51:18 · 481 阅读 · 0 评论 -
Android RefBase类(sp,wp)
Android RefBase类(sp,wp)个人觉得sp和wp实际上就是android为其c++实现的垃圾自动回收机制,具体到内部实现,sp和wp实际上只是一个实现垃圾回收功能的接口而已,比如说对*,->的重载,是为了其看起来跟真正的指针一样,而真正实现垃圾回收的是RefBase这个基类。这部分代码的目录在:/frameworks/base/include/utils/RefBase.h转载 2012-03-28 10:41:49 · 763 阅读 · 0 评论 -
Android锁Wake Lock
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.(一).内核维护了:1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT] active转载 2012-03-27 10:46:36 · 609 阅读 · 0 评论 -
传感器选用原则
传感器选用原则 现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。 1、根据测量对象与测量环境确定传感器的类型 要进行—个具体的测量工作,首先要考虑采用何种原理转载 2012-03-27 10:32:21 · 1148 阅读 · 0 评论 -
Android Binder IPC分析(精简版)
Android Binder IPC分析1 . binder 通信概述 binder 通信是一种 client-server 的通信结构, 1. 从表面上来看,是 client 通过获得一个 server 的代理接口,对 server 进行直接调用; 2. 实际上,代理接口中定义的方法与 server 中定义的方法是一一对应的; 3.client 调用某个代理接口中转载 2012-03-26 16:29:10 · 736 阅读 · 0 评论 -
Android-Gsensor屏幕旋转
关于Rotate的实现: 系统启动windowManger.java时,它会启动phoneWindowManager.java,该类有一个内部类myOrientationListener扩展自windowOrientationListener.java。 windowOrientationListener.java是一个辅助类,当device的方向发生变化时,供windowManger转载 2012-03-26 15:35:13 · 7216 阅读 · 0 评论 -
加速度计和陀螺仪的区别
加速度计和陀螺仪的区别 这是一篇 diydrones.com 网站上的文章,介绍为什么在无人机自主导航中需要用到加速度计、陀螺仪、磁罗盘计和GPS等传感器(原文地址)。http://www.diydrones.com是个开源的讨论UAV(无人机自主飞行导航器)的社区网站。An accelerometer measures acceleration. A 3-axis accele转载 2012-03-26 17:33:03 · 5384 阅读 · 0 评论 -
Android IPC 机制详解:IBinder
http://www.linuxgraphics.cn/android/ipc_ibinder.html IBinder 接口IBinder接口是对跨进程的对象的抽象。普通对象在当前进程可以访问,如果希望对象能被其它进程访问,那就必须实现IBinder接口。IBinder接口可以指向本地对象,也可以指向远程对象,调用者不需要关心指向的对象是本地的还是远程。转载 2012-03-26 09:10:51 · 1437 阅读 · 0 评论 -
Quaternion(四元数)和旋转
本文介绍了四元数以及如何在OpenGL中使用四元数表示旋转。Quaternion 的定义四元数一般定义如下: q=w+xi+yj+zk其中 w,x,y,z是实数。同时,有: i*i=-1 j*j=-1 k*k=-1四元数也可以表示为: q=[w,v]其中v=(x,y转载 2012-03-24 09:39:38 · 1481 阅读 · 0 评论 -
Android-binder
Server获得了Service Manager远程接口之后,就要把自己的Service添加到Service Manager中去,然后把自己启动起来,等待Client的请求。MediaPlayerService 继承了--> BnMediaPlayerService类(一个Binder Native类,用来处理Client请求) --> BnInterface类转载 2012-04-06 15:32:38 · 1044 阅读 · 0 评论