安卓笔记侠

专注安卓开发

导航

2016年12月23日 #

Android系统启动流程(四)Launcher启动过程与系统启动流程

摘要: 此前的文章我们学习了init进程、Zygote进程和SyetemServer进程的启动过程,这一篇文章我们就来学习Android系统启动流程的最后一步:Launcher的启动流程,并结合本系列的前三篇文章的内容来讲解Android系统启动流程。建议读这篇文章前要通读本系列的前三篇文章,否则你可能不会 阅读全文

posted @ 2016-12-23 01:59 安卓笔记侠 阅读(1956) 评论(0) 推荐(0) 编辑

Android系统启动流程(三)解析SystemServer进程启动过程

摘要: 1.Zygote启动SystemServer进程 在上一篇文章中我们讲到在ZygoteInit.java的startSystemServer函数中启动了SyetemServer进程,如下所示。 frameworks/base/core/java/com/android/internal/os/Zyg 阅读全文

posted @ 2016-12-23 01:56 安卓笔记侠 阅读(1133) 评论(0) 推荐(0) 编辑

Java虚拟机(一)结构原理与运行时数据区域

摘要: 我们来学习Java虚拟机的结构原理与运行时数据区域。 1.Java虚拟机概述 Oracle官方定义的Java技术体系主要包括以下几个部分: Java程序设计语言 各种平台的Java虚拟机 Class文件格式 Java API类库 第三方Java类库 可以把Java程序设计语言、Java虚拟机和Jav 阅读全文

posted @ 2016-12-23 01:53 安卓笔记侠 阅读(400) 评论(0) 推荐(0) 编辑

Android系统启动流程(二)解析Zygote进程启动过程

摘要: 1.Zygote简介 在Android系统中,DVM(Dalvik虚拟机)、应用程序进程以及运行系统的关键服务的SystemServer进程都是由Zygote进程来创建的,我们也将它称为孵化器。它通过fock(复制进程)的形式来创建应用程序进程和SystemServer进程,由于Zygote进程在启 阅读全文

posted @ 2016-12-23 01:48 安卓笔记侠 阅读(494) 评论(0) 推荐(0) 编辑

设计模式(一)适配器模式

摘要: 一、作用 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、适用场景 1. 业务的接口与工作的类不兼容,(比如:类中缺少实现接口的某些方法)但又需要两者一起工作 2. 在现有接口和类的基础上为新的业务需求提供接口 阅读全文

posted @ 2016-12-23 01:46 安卓笔记侠 阅读(355) 评论(0) 推荐(0) 编辑

Android系统启动流程(一)解析init进程启动过程

摘要: 整体流程大致如下: 1.init简介 init进程是Android系统中用户空间的第一个进程,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建zygote(孵化器)和属性服务等。init进程是由多个源文件共同组成的,这些文件位于源码目录system/core/init。本文将基于Andro 阅读全文

posted @ 2016-12-23 01:22 安卓笔记侠 阅读(2145) 评论(0) 推荐(0) 编辑

Java并发编程(十四)Java内存模型

摘要: 1.共享内存和消息传递 线程之间的通信机制有两种:共享内存和消息传递;在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信。 同步是指程序用于控制不同线程之间操 阅读全文

posted @ 2016-12-23 01:06 安卓笔记侠 阅读(365) 评论(0) 推荐(0) 编辑

Java并发编程(十三)线程间协作的两种方式:wait、notify、notifyAll和Condition

摘要: 在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无 阅读全文

posted @ 2016-12-23 00:49 安卓笔记侠 阅读(362) 评论(0) 推荐(0) 编辑