发布时间:2014-08-31 17:53:14
The fork(),vfork() and clone() all call the do_fork() to do the real work, but with different parameters.asmlinkage int sys_fork(struct pt_regs regs){ return do_fork(SIGCHLD, regs.esp, ?s, 0);}asmlinkage int sys_clone(struct pt_regs regs){ unsigned long clone_flags; unsigned .........【阅读全文】
发布时间:2014-08-31 17:47:17
1. 线程的生命周期开始于start()方法,终止于run()函数运行结束。2. 守护线程的生命周期还和JVM有关系,当别的线程都dead时,JVM会kill掉所有守护线程然后退出。3. 怎么优雅的kill掉一个线程呢?就是想办法让它的run函数结束,比如这么写run()函数:public void run() { try { .........【阅读全文】
发布时间:2014-08-31 14:23:44
网上有一堆关于Binder原理的文章,都很长,我希望能尽量把这个问题讲得简短些。1)关于binder驱动Binder在Android里被设计成了一个驱动,安装在/dev/binder,这也是Android和linux的重要区别之一:Android提出了一个新的进程间通信方式(IPC)。另外,这种方式是通过远程过程调用(RPC)实现的。对Binder的操作和对其它.........【阅读全文】
发布时间:2014-08-26 23:49:54
众所周知,Android有四大组件,分别是Activity,Service,BroadcastReceiver,ContentProvider,他们互相协作,共同构成了一个Android App。Activity的设计是用来展示界面的,所以只有它有setContentView。因为同一时刻只有一个Activity处于可交互状态,因此不存在两个“活着”的Activity之间传递数据的需求。所以Activit.........【阅读全文】