android framework 01

1.(由下向上启动),Uboot引导内核(linux Kernel)启动,把内核从flash放到内存中,引导内核启动。内核是系统的核心,负责进程的管理内存的管理网络的管理。内核(Linux Kenel)启动完后就回去启动安卓系统(ANdroid OS),安卓系统的启动也分为几个层,第一个是HAL层(把外设备例如camere提供标准接口给framework C++层调用),ANdroid OS ,第二个是FrameWork(C++层),第三个是第三方的库文件(library),第四个是虚拟机(Dalvik),第五个是framework(java层),Dalvik虚拟机是链接上层应用底层的服务和第三方库,提供自动化管理尤其是内存的管理,有了dalvik虚拟机之后就可以用java去写相关的应用,framework java层提供了activity manager,window manager,content manager,provide manager,system manager 以及包的管理,并且提供了电源管理,wifi管理等一些列服务,以及activity,进程之间的通信方式。

一个应用程序camera,首先从应用java层调到framework java层,framework java层通过虚拟机获取camera服务(camera service),然后到camera hal层,hal层调用驱动控制硬件去抓拍照片,照片拿到后返回给camera hal层,然后返回给camera service,再通过Dalvik返回给上层,进行预览或者存储在sd卡中。

时间: 2024-12-31 08:31:39

android framework 01的相关文章

Android基础01 快速入门 & 布局

Android基础01 快速入门 & 布局 01.01  手机制式 第一代模拟制式手机(1G):1G就是大哥大,手机类似于简单的无线电双工电台,通话是锁定在一定频率,所以使用可调频电台就可以窃听通话.   第二代GSM.CDMA等数字手机(2G):手机使用PHS,GSM或者CDMA这些十分成熟的标准,具有稳定的通话质量和合适的待机时间,支持彩信业务的GPRS和上网业务的WAP服务,以及各式各样的Java程序等. 第三代移动通信技术(3G):3G,是英文3rd Generation的缩写,指第三代

Android Framework 分析---消息机制Native层

在Android的消息机制中,不仅提供了供Application 开发使用的java的消息循环.其实java的机制最终还是靠native来实现的.在native不仅提供一套消息传递和处理的机制,还提供了自定义文件描述符的I/O时间的监听机制.下面我们从具体代码中分析一下. Native层的关键类: Looper.cpp.该类中提供了pollOnce 和wake的休眠和唤醒机制.同时在构造函数中也创建 管道 并加入epoll的机制中,来监听其状态变化. Looper::Looper(bool al

Android Framework 记录之二

原文地址:http://blog.csdn.net/banketree/article/details/24982021 接着上次的记录,续写. 23.services目录 文件 描述 class AlarmManagerService extends IAlarmManager.Stub { //定时管理服务 public class AppOpsService extends IAppOpsService.Stub {  // 程序选项服务 public class AppsLaunchFa

Android Framework 记录之一

简介 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework框架层了. 原文地址:http://blog.csdn.net/banketree/article/details/24718899 记录 1.下载源码,目录如下: 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述

.Net程序员玩转Android系列之二~Android Framework概要(1)

从windows操作系统说起 人们总是喜欢从将陌生的事物和自己所了解的东西关联起来,以加深对未知事物的了解,这一讲我们从windows操作系统说起,逐步引领带大家走入android的世界.写任何程序都需要知道程序运行的原理和环境,就比如开发winform程序,你至少需要知道操作系统的原理,CLR运行时,了解一些常用的C/C++库.诚然,你不需要全部了解得很清楚也能写出很不错的应用程序,但是你了解的越清楚,钻研得越透彻,那么你越能开发出适合于你所在平台的.更优化的应用程序.譬如在windows操作

【智能手环APP for Android 】01 百度地图展示行动轨迹

1.效果图示 2.行动轨迹数据 <span style="font-size:18px;">[ { "LocationX":"121.42619", "LocationY":"31.186655" }, { "LocationX":"121.42694", "LocationY":"31.187215" }, { &

Android Framework 分析---PackageManager 分析

在windowphone,ios和android中到目前为止,还是android的市场份额最大.个人认为除了google开源外,广大开发者早就了android的霸主地位.各位兄弟姐妹开发出各种各样的apk,才组成android的广阔天下.本篇主要分析一下android系统是针对处理这些apk的,主要涉及到pm这块的代码.分析这种底层服务,最好从android的开启启动流程中开始分析.因为这样才能更清楚的了解服务的启动流程. 1.在SystemServer.java 中启动PM android 开

如何从C++代码直接访问android framework层的WifiService

说到底,Java层的service就是就C++层的binder的封装,所以从原理上来讲通过C++代码直接访问android framework层的service是完全可能的,这篇文章以访问WifiService为例,讲解如何去实现这个功能. 费话少说,直接上代码: WifiTest.cpp #include <sys/types.h> #include <unistd.h> #include <grp.h> #include <binder/IPCThreadSt

android framework层 学习笔记(一)

大体结构 最近在研究android framework层的开发.  先来一张frame work的源码结构图 1  api 文件夹  不清楚用途,该目录下只有一个current.txt 内容看上去像代码,先放一放 2  cmds 文件夹,顾名思义是android 所支持的 command (命令) 最明显就是里面第一个文件夹就是am ,对应着android中的am 命令. 其他的命令里面有C语言写的也有java+C的. 3    core  文件夹这个文件夹下面有四个文件 java jni re