android EVENT

来源:互联网 发布:pdb数据库蛋白质结构 编辑:程序博客网 时间:2024/06/06 19:29

  linux/input.h中有定义,这个文件还定义了标准按键的编码等

  struct input_event {
  struct timeval time; //按键时间
  __u16 type; //类型,在下面有定义
  __u16 code; //要模拟成什么按键
  __s32 value;//是按下还是释放
  };

type:
EV_SYN:同步
EV_KEY:键盘
EV_REL:相对坐标
EV_ABS:绝对坐标
EV_MSC:其它

code:

   事件的代码.如果事件的类型代码是EV_KEY,该代码code为设备键盘代码.代码植0~127为键盘上的按键代码,0x110~0x116
   为鼠标上按键代码,其中0x110(BTN_ LEFT)为鼠标左键,0x111(BTN_RIGHT)为鼠标右键,0x112(BTN_ MIDDLE)为鼠标中键.其
   它代码含义请参看include/linux/input.h文件. 如果事件的类型代码是EV_REL,code值表示轨迹的类型.如指示鼠标
   的X轴方向REL_X(代码为0x00),指示鼠标的Y轴方向REL_Y(代码 为0x01),指示鼠标中轮子方向REL_WHEEL(代码为0x08).

 

value:
    事件的值.如果事件的类型代码是EV_KEY,当按键按下时值为1,松开时值为0;如果事件的类型代码是EV_ REL,

    value的正数值和负数值分别代表两个不同方向的值.

 

linux将事件上报到android后,要经过转换才能使用。

映射文件 /system/usr/keylayout/*.kl

 

内存调试的东西D/dalvikvm

android log:

D/dalvikvm( 1554): GC_CONCURRENT freed 253K, 23% free 3196K/4103K, paused 2ms+2ms

D/dalvikvm:表示由dalvikvm输出的调试信息,括号后的数字1554代表dalvikvm所在进程的pid。

GC_CONCURRENT:表示触发垃圾收集的原因,有以下几种:

          GC_MALLOC, 内存分配失败时触发
          GC_CONCURRENT,当分配的对象大小超过384K时触发
          GC_EXPLICIT,对垃圾收集的显式调用(System.gc)
          GC_EXTERNAL_ALLOC,外部内存分配失败时触发

freed 253K:表示本次垃圾收集释放了253K的内存。
23% free 3196K/4103K:其中3196K表示当前内存总量,4103K表示可用内存,23%表示可用内存占总内存的比例。 
external 0K/0K:表示可用外部内存/外部内存总量 。
paused 2ms+2ms:第一个时间值表示markrootset的时间,第二个时间值表示第二次mark的时间。如果触发原因不是GC_CONCURRENT,这一行为单个时间值,表示垃圾收集的耗

                                时时间。 


 

 

 

android系统有一些工具,软代码路径:

system\core\toolbox\

 

Android学习系列:

http://www.cnblogs.com/qianxudetianxia/tag/Android%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97/