自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

翻译 init.rc中语言使用

Android Init Language---------------------The Android Init Language consists of four broad classes of statements,which are Actions, Commands, Services, and Options.All of these are line-oriented

2016-07-27 10:45:01 4343

原创 git使用

git配置git config --global user.name "zhangsan"git config --global user.email zhangsan@xxx.com概念解释工作区 工作代码暂存区 本地缓存版本库 本地库git log git log [<options>] [<since>..<until...

2016-07-22 14:14:33 780

原创 dev目录介绍

1 char Memory devices 1 = /dev/mem Physical memory access 2 = /dev/kmem Kernel virtual memory access 3 = /dev/null Null device 黑洞 4 = /dev/port I/O port access 5 = /dev/zero N

2016-07-20 10:03:00 1121

翻译 proc文件系统介绍

------------------------------------------------------------------------------ T H E /proc F I L E S Y S T E M---------------------------------------------------------------

2016-07-19 15:13:21 8115 1

转载 Android属性之build.prop生成过程分析

本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemPropertie

2016-07-18 13:59:42 2454

原创 linux系统编程手册 I/O复用

水平触发和边缘触发水平触发(level-triggered,也被称为条件触发)LT:  只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)边缘触发(edge-triggered)ET: 每当状态变化时,触发一个事件。“举个读socket的例子,假定经过长时间的沉默后,现在来了100个字节,这时无论边缘触发和条件触发都会产生一个read ready notific

2016-07-15 11:31:08 690

原创 Linux系统编程手册 文件I/O缓冲

文件I/O内核缓冲read、write系统调用在操作磁盘文件时不会直接发起磁盘访问,而是仅仅在用户空间缓冲区与内核缓冲区之间复制数据。例如:如下调用将3个字节的数据从用户空间内存传递到内核空间的缓冲区中:write(fd, "abc", 3);write随即返回。在后续的某个时刻,内核会将其缓冲区的数据写入磁盘。如果在此期间,另一个进程试图读取该文件的这几个字节,那么内核将自动从缓

2016-07-14 10:48:25 783

原创 linux系统编程手册 定时器和休眠

一、间隔定时器1.setitimersettitimer创建一个间隔式定时器,这种定时器会在未来某个时间到期,并于此后(可选择地)每隔一段时间到期一次int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value);参数 which:1. ITIMER_REAL  创

2016-07-13 16:43:46 1236

原创 linux系统编程手册 文件系统

我们可以通过proc/mounts来查看当前已经挂载的文件系统的列表。int mount(const char* source, const char *target, const char* fstype, unsigned long mountflags, const void *data);source:指定设备所包含的文件系统target:挂载目录fstype:标识

2016-07-13 14:42:31 1013

原创 Linux设备驱动相关

查看注册设备我们可以查看proc/devices文件可以获知系统中注册的设备,第一例是主设备号,第二例是设备名,一般同一类设备的主设备号相同:Character devices: 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 in

2016-07-13 10:25:04 748

原创 博客进入前1万名了

发个图纪念下终于进入前10000名了,今后继续努力。

2016-07-12 21:54:27 657 1

原创 Android6.0 消息机制原理研究

消息都是存放在一个消息队列中去,而消息循环线程就是围绕这个消息队列进入一个无限循环的,直到线程退出。如果队列中有消息,消息循环线程就会把它取出来,并分发给相应的Handler进行处理;如果队列中没有消息,消息循环线程就会进入空闲等待状态,等待下一个消息的到来。在编写Android应用程序时,当程序执行的任务比较繁重时,为了不阻塞UI主线程而导致ANR的发生,我们通常的做法的创建一个子线程来

2016-07-12 10:27:46 2734 1

转载 Linux中eventfd函数调用解析

从Linux 2.6.27版本开始,新增了不少系统调用,其中包括eventfd,它的主要是用于进程或者线程间的通信(如通知/等待机制的实现)。函数原型: #include int eventfd(unsigned int initval, intflags);参数解释:如果是2.6.26或之前版本的内核,flags 必须设置为0。Flags支

2016-07-11 19:04:44 1913

转载 linux sys目录介绍

sysfs 与 /syssysfs 文件系统总是被挂载在 /sys 挂载点上。虽然在较早期的2.6内核系统上并没有规定 sysfs 的标准挂载位置,可以把 sysfs 挂载在任何位置,但较近的2.6内核修正了这一规则,要求 sysfs 总是挂载在 /sys 目录上;针对以前的 sysfs 挂载位置不固定或没有标准被挂载,有些程序从 /proc/mounts 中解析出 sysfs 是否被挂载以及

2016-07-07 15:41:52 1821

原创 Android uevent监控 UEventObserver

android提供了UEventObserver这个类来使java可以监听uevent事件,这个类是一个抽象类,使用这个类必须实现onUEvent函数。一、监控过程在UEventObserver这个类中做了一个单例的线程, private static UEventThread getThread() { synchronized (UEv

2016-07-07 14:57:23 5370

转载 Android文件监控FileObserver介绍

转载地址:http://blog.csdn.net/yangwen123/article/details/36379763在前面的Linux文件系统Inotify机制 中介绍了Linux对文件变更监控过程。Android系统在此基础上封装了一个FileObserver类来方便使用Inotify机制。FileObserver是一个抽象类,需要定义子类实现该类的onEvent抽象方法,当被

2016-07-07 09:55:35 2712

原创 android 6.0 healthd vold接收uevent

之前我们分析过了ueventd处理uevent事件,这篇博客我们看下healthd和vold是如何接受相关的uevent事件的。一、healthd接受uevent下面是heathd的主函数int main(int argc, char **argv) { int ch; int ret; klog_set_level(KLOG_LEVEL);

2016-07-07 09:31:31 2211

原创 android6.0 ueventd

ueventd的主要功能是接受uevent来创建和删除设备中的dev目录下的设备节点。uevent进程和init进程不是一个进程,但是他们的二进制文件时相同的,只不过通过启动参数不一样导致程序的执行流程不一样,ueventd在init.rc中定义开启。一、初始化下面我们先来看下ueventd的代码:int ueventd_main(int argc, char **argv)

2016-07-06 18:24:41 2176 1

原创 linux openat与open函数区别

open函数与openat函数功能类似,都是打开一个文件1.当path参数是绝对路径,两个函数一致2.当path是相对路径,fd参数指出了相对路径名在文件系统的开始地址,当然fd是通过打开相对路径所在的目录来获取,如下DIR *d = opendir(path);int fd = dirfd(d);3.path是相对参数,fd参数具有特殊值AT_FDCWD,这种情况下,路

2016-07-06 17:02:41 7939

原创 sn序列号改变导致cts异常中断(案例)

之前遇到一个问题,就是cts挂测1-2天就会出现cts异常中断,后来找到原因是由于sn号改变,导致cts在手机重启后不能连上手机。一、通过adb devices代码 得知pc获取手机sn号的方式正常情况下,我们可以使用adb devices来查看手机的序列号,我们可以从adb 这块入手,去看pc是如何获取手机序列号的。adb devices是pc侧的命令,我们先从adb的Com

2016-07-05 13:43:09 1896

android关机时间慢

android关机时间慢

2017-01-05

selinux问题

selinux问题

2017-01-05

Android AlarmManager

Android AlarmManager

2017-01-05

跟我一起写makefile

跟我一起写makefile

2016-07-15

opencv 保存录像

opencv中用来保存摄像头录的录像,c++语言摄像头播放录像

2011-09-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除