自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猿氏悟语

Android 新特性研究

  • 博客(12)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android启动流程分析(十一) zygote的启动

首先zygote创建了appruntime的对象,并调用他的start。此后的活动由AppRuntime来控制然后调用startVM来创建了虚拟机,调用startReg来注册JNI的函数通过JNI调用zygoteInit进入了java的世界调用registerZygoteSocket来响应子孙后代的请求,同时调用preload函数进行资源的预加载调用startSystemServer来进行系统启动的后续工作完成了java世界的初创工作后,变进入了select循环,来处理后续的请求。

2015-03-31 17:16:01 1438

原创 Android启动流程分析(十) action的执行和service的启动

在前面的文章分析完init.rc的解析以后,我们知道现在action按照init.c的main函数中的秩序,维护了一条qlist的链表,listnode为action_qlistservice也维护了一条链表,listnode为service_list。那么,在android的启动过程中,action和service是如何被启动的呢?我们接下来再回到我们一直分析的init.c的main函数中来看一下。

2015-03-30 18:15:36 5727

原创 Android启动流程分析(九) 解析init.rc的service

在分析完解析init.rc的action之后,剩下的一部分就是解析service了。而解析service还是需要回到parse_config里面来。根据前面的知识,我们也可以很容易的知道在关键字为section的时候,会进入到parse_new_section。这里会先执行parse_service,然后将service以及后面跟的option设置为执行parse_line:parse_line_service。要理解service的解析流程的话,首先要关注的就是service的结构体。

2015-03-30 14:39:45 3137 1

原创 Android启动流程分析(八) 解析init.rc的action

上一章讲述了android启动过程中,加载init.rc之后需要对其进行解析。而解析又根据三个不同的SECTION来执行不同的初始化的文件,分别是parse_action,parse_service,parse_import.那么,这一节,我们就从parse_action来讲一下是如何解析init.rc下面,on的关键字及其对应的action与command的。按照惯例,先来看一下这个函数实现:

2015-03-29 15:50:22 1988

原创 Android启动流程分析(七) init.rc的解析

Init.rc的解析过程是笔者认为在android启动过程中,最复杂,最难理解的部分。虽然它的内容很少,但是却包含了非常多的处理,接下来我们来慢慢的分析。经过前面的分析,我们知道了read完init.rc的文件后,保存到了data的数组,传递到了parse_config的函数里。

2015-03-29 13:50:31 1580

原创 Android启动流程分析(六) init.rc的语法

在init.rc的解析之前,我们要先了解init.rc里面到底写了什么,它的语法是怎么样的。其实,非常建议去读一下android关于init.rc的说明文件:system/core/init/readme.txt这个里面,已经讲的非常的清楚。但是这里,还是简单的总结一下。init.rc首先是位于system/core/rootdir/init.rc.

2015-03-29 12:38:22 3215

原创 Android启动流程分析(五) init.rc的读取

在前面一篇中,分析了在init的main函数中,会去解析init.rc。那么解析的过程是怎么样的呢?init.rc的解析函数为:init_parse_config_file.实现的位置在于:init_parse.c

2015-03-29 12:13:50 1631

原创 Android启动流程分析(四) init进程分析

前面讲到了,我们init进程执行的话,首先执行的会是init的main函数。那我们就先来看看init的main函数做了什么事情。首先,我们看到init最先做的事情是创建一些文件夹,并且挂载设备,这些函数都是linux的常见函数:

2015-03-29 11:38:58 1666

原创 Android启动流程分析(三) init进程初窥

init进程是android启动过程中的第一个进程,如果我们用adb shell进入到android 手机后,使用ps命令去看android的系统进程的话,会得到如下的结果:

2015-03-29 10:28:07 1572 1

原创 Android启动流程分析(二) init进程的启动

分析init进程,首先要分析init进程是如何启动的, init的源码位于(system/core/init),我们先来看看init进程的android.mk

2015-03-29 10:06:17 1864 1

原创 Android启动流程分析(一)概述

Android的启动流程绝大部分人都知道,但是大多数人都是这样描述的:Android启动,首先是启动Bootloader,然后挂载kernel,挂载完kernel之后,会启动android的init进程,init进程会去孵化Zygote,Zygote是android的重要支柱之一,然后由zygote启动的systemserver,systemserver启动了系统的各种关键的service,然后service启动后,就进入了Launcher的apk,启动完毕。。这么说的确可以简单的概括android的

2015-03-29 09:26:28 1692 1

转载 Jni語法大全

一、对照表Java类型    本地类型         描述boolean    jboolean       C/C++8位整型byte       jbyte          C/C++带符号的8位整型char       jchar          C/C++无符号的16位整型short      jshort         C/C++带符号的16位整型in

2015-03-23 15:55:01 934

疯狂java讲义第三版

李刚,疯狂java第三版,光盘和pdf都包含,网盘地址见下载附件

2015-06-24

KitKat研究报告

基于最新的android4.4代码,详细分析Browser app,framework webkit/webview, extern/chromium_org的改变.

2013-11-16

android activity详细总结

一篇关于android activity的详细总结

2013-05-06

android service总结文档

一篇对于android service的详细总结

2013-05-06

空空如也

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

TA关注的人

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