第16章 程序包管理 PackageManagerService類 PmS 目錄 16.1 包管理概述 16.2 packages.xml文件格式 16.3 包管理服務的啟動過程 16.4 應用程序的安裝和卸載 16.5 intent匹配框架   16.1 包管理概述 1.包管理服務的程序結構 分別為應用程序層,PmS服務層,及數據文件層 應用程序層 DontextImpl.ApplicationPackageManager   Pms服務層  /data/system/packages.xml…
一.Framework组成 1.服务端组成 a.WindowManagerService     决定各窗口的叠放次序.隐藏或者显示窗口 b.ActivityManagerService   管理应用程序中所有的activity c.KeyQ   Wms内部类,继承于KeyInputQueue,一旦创建就会立即启动一个线程负责读取用户的UI相关操作,如,按键.触摸屏等,并把消息放到QueueEvent类中 d.InputDispatcherThread   一旦创建立即启动一个线程从QueueE…
View状态分类 在View视图中定义了多种和界面效果相关的状态,比如拥有焦点Focused.按下Pressed等,不同的状态一般会显示不同的界面效果,而且视图状态会随着用户的操作而改变,一般通过xml文件中selector来申明各种状态下使用的背景图:所有的状态码位于StateListDrawable中,常用的状态码包括: enable:当前View是否可用,开发者可以通过setEnable()改变,他完全由开发者控制: 当状态为不可用时,View将不会响应任何事件: focused:当前Vi…
第13章 守护进程 13.1 引言 *守护进程也称精灵进程(daemon)是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNIX系统有很多守护进程,它们执行日常事务活动 13.2 守护进程的特征 *系统进程依赖于操作系统实现.父进程ID为0的各进程通常是内核进程,它们作为系统自举过程的一部分而启动.(init是此种进程的例外,它是内核在自举时启动的用户层命令.)内核进程是特殊的,通常存在于系统的整个生命期中.它们以超级用户…
1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向不一定是有序的.下面这幅图是SGI STL中的各种容器,图中内缩表示内含关系,类似于UML类图里面的组合关系.比如说heap内含一个vector,表示heap是借由vector实现的. 2.vector vector概述 vector的空间是动态分配的,对vector进行size()操作得到的结果是…
第一章 Linux内核简介 1.1 Unix的历史 Unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的. 在Unix中,所有东西都被当做文件,这种抽象使对数据和对设备的操作是通过一套相同的系统调用接口来进行的:open().read().write().lseek().close(). Unix的内核和相关的系统工具软件都是使用C语言编写而成,使其在各种硬件体系架构面前都具备令人惊异的移植能力. Unix进程创建非常迅速,并且有一个独特的fork()系统调用. Unix提供了一套…
第13章 类继承 1. 如果购买厂商的C库,除非厂商提供库函数的源代码,否则您将无法根据自己的需求,对函数进行扩展或修改.但如果是类库,只要其提供了类方法的头文件和编译后的代码,仍可以使用库中的类派生出新的类.而且可以在不公开实现的情况下将自己的类分发给其他人,同时允许他们在类中添加新特性. 2. 派生类构造函数首先创建基类对象,如果不调用基类构造函数,程序将使用默认的基类构造函数. 3. 创建派生类对象时,程序首先调用基类构造函数,然后再调用派生类构造函数.派生类对象过期时,程序将首先调用派生…
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript   提供核心语言功能 DOM     提供访问和操作网页内容的方法和接口 BOM     浏览器对象模型,提供浏览器交互的方法和接口 第二章 关于<script>加了空格是否算报错 不会报错,但是这个标签会被解析失败,比如 <s cript></s>最后解析的会是删除线 s. 关于标签的大小写写错是否要紧 不要紧,但最…
计算视图大小的过程(Measure) 视图大小,准确的来说应该是指视图的布局大小:我们在layout.xml中为每个UI控件设置的layout_width/layout_height两个属性被用来设置父视图给当前视图分配的“窗口”大小,为了开发的方便和对不同屏幕分辨率的兼容适配对这两个参数的赋值一般都使用相对值(也可以使用具体值,比如100dp),比如WRAP_CONTENT/MATCH_PARENT,在代码中用常量-2/-1表示:计算视图布局大小的过程本质上就是把视图布局时使用的“相对值”转换…
(一)全局获取Context 1.创建ApplicationUtil类继承自Application类: public class ApplicationUtil extends Application { private static Context context; @Override public void onCreate() { context = getApplicationContext(); } public static Context getContext() { return…