Linux的启动过程 开机上电执行bootloader,将内核的前n条指令加载到系统内存中------>系统内核的初始化----------->启动应用程序. bootloader的位置装载在每个CPU要执行的第一条指令的内存地址处,该地址对于不同的CPU是相同的.所以称为引导程序.目的为装载真正的用户程序,而装载的目标位置和device可能不同,因此共同的需要知道: - 从哪里读取用户程序 - 用户程序的长度是多少 - 装载完用户程序后跳转多少,入口程序在哪儿 Android和Android…
在java环境中,有个概念叫做"类装载器",其作用是动态装载Class文件.标准的java SDK中有一个ClassLoader类,借助它可以装载 想要的Class文件,每个Classoader对象在初始化时必须指定Class文件的路径. 使用类加载器的原应: import中所引用的类文件有两个特点: 必须存在于本地 当程序运行是需要该类时,内部类装载器会自动装载该类,这对程序员来讲是透明的 即程序原不知道该过程 编译时必须在现场,负责编译过程会因为找不到引用文件而不能正常编译. 但在…
View状态分类 在View视图中定义了多种和界面效果相关的状态,比如拥有焦点Focused.按下Pressed等,不同的状态一般会显示不同的界面效果,而且视图状态会随着用户的操作而改变,一般通过xml文件中selector来申明各种状态下使用的背景图:所有的状态码位于StateListDrawable中,常用的状态码包括: enable:当前View是否可用,开发者可以通过setEnable()改变,他完全由开发者控制: 当状态为不可用时,View将不会响应任何事件: focused:当前Vi…
计算视图大小的过程(Measure) 视图大小,准确的来说应该是指视图的布局大小:我们在layout.xml中为每个UI控件设置的layout_width/layout_height两个属性被用来设置父视图给当前视图分配的“窗口”大小,为了开发的方便和对不同屏幕分辨率的兼容适配对这两个参数的赋值一般都使用相对值(也可以使用具体值,比如100dp),比如WRAP_CONTENT/MATCH_PARENT,在代码中用常量-2/-1表示:计算视图布局大小的过程本质上就是把视图布局时使用的“相对值”转换…
一.Framework组成 1.服务端组成 a.WindowManagerService     决定各窗口的叠放次序.隐藏或者显示窗口 b.ActivityManagerService   管理应用程序中所有的activity c.KeyQ   Wms内部类,继承于KeyInputQueue,一旦创建就会立即启动一个线程负责读取用户的UI相关操作,如,按键.触摸屏等,并把消息放到QueueEvent类中 d.InputDispatcherThread   一旦创建立即启动一个线程从QueueE…
第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…
声明:此篇文章借鉴<android内核剖析>整理得来. 一.装载器简介 “类装载器”(ClassLoader),顾名思义,就是用来动态装载class文件的.标准的Java SDK中有个ClassLoader类,借助此类可以装载需要的class文件,前提是 ClassLoader类初始化必须制定class文件的路径. import关键字引用的类文件和ClassLoader动态加载类的区别: import引用类的两个特点:1.必须存在于本地,当程序运行该类时,内部类装载器会自动装载该类. 2.编译…
<深入理解Android内核设计思想> 基本信息 作者: 林学森 出版社:人民邮电出版社 ISBN:9787115348418 上架时间:2014-4-25 出版日期:2014 年5月 开本:16开 页码:687 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > Android 更多关于>>><深入理解Android内核设计思想> 编辑推荐 基于Android SDK最新版本 全面细致地剖析了进程/线程模型.内存管理.Bind…
注意:涉及的代码为android内核代码而不是android源码. 在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计, 截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有 率,终端设备的多样性亟需更多的移动…
Android内核sysfs中switch类使用实例 最终在这个周末,能够干点自己想要干的事了. 由我这个二流的内核驱动开发人员来解析一下sysfs中的switch类.先猜測一下来历,在普通的嵌入式Linux平台上.通常是各自为战,全然不须要遵循什么规则.在Android中Google定义了一些潜移默化的规范,你能够全然不遵守. 可是依照规则总归是好的. 先从直观的来看一下/sys/class/switch类中都有些什么吧. watermark/2/text/aHR0cDovL2Jsb2cuY3…