Android图形显示之硬件抽象层Gralloc

FrameBuffer驱动程序分析文中介绍了Linux系统下的显示驱动框架,每个显示屏被抽象为一个帧缓冲区,注册到FrameBuffer模块中,并在/dev/graphics目录下创建对应的fbX设备。Android系统在硬件抽象层中提供了一个Gralloc模块,封装了对帧缓冲区的所有访问操作。用...

2013-09-30 17:06:31

阅读数:9468

评论数:4

FrameBuffer驱动程序分析

FrameBuffer通常作为LCD控制器或者其他显示设备的驱动,FrameBuffer驱动是一个字符设备,设备节点是/dev/fbX,主设备号为29,次设备号递增,用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在...

2013-09-28 21:17:32

阅读数:6749

评论数:2

Android硬件抽象Hardware库加载过程源码分析

作为开放而非开源的Android系统,由于其基于Linux内核实现,在不违背Linux基于GPL许可前提下,为了隐藏各厂家自身特定硬件驱动实现细节,在用户空间定义了一套硬件抽象层,对硬件的操作细节从内核空间转移到用户空间。各厂商在Android的硬件抽象层实现特定硬件的操作细节,并编译成动态库,以...

2013-09-26 11:22:13

阅读数:6560

评论数:1

Android OpenGL库加载过程源码分析

本文简单介绍OpenGL库的加载过程。OpenGL以动态库的方式提供,因此在使用OpenGL的接口函数绘图前,需要加载OpenGL库,并得到接口函数指针。函数EGLBoolean egl_init_drivers()就是负责OpenGL库的加载。

2013-09-24 20:09:31

阅读数:7005

评论数:3

Android SurfaceFlinger服务启动过程源码分析

Android系统的SurfaceFlinger服务有两种启动方式:1)在SystemServer进程中以服务线程的方式提供服务;2)启动SurfaceFlinger独立的进程通过服务。第一种方式是在SystemServer进程启动过程中启动SurfaceFlinger服务的,而第二中方式是在An...

2013-09-24 13:21:35

阅读数:7643

评论数:0

Android 匿名共享内存Java接口分析

在Android匿名共享内存驱动源码分析中介绍了匿名共享内存的驱动实现过程,本文在Android匿名共享内存驱动基础上,介绍Android匿名共享内存对外Android系统的匿名共享内存子系统的主体是以驱动程序的形式实现在内核空间的,同时,在系统运行时库层和应用程序框架层提供了访问接口,其中,在系...

2013-09-18 15:52:51

阅读数:3877

评论数:0

Android 匿名共享内存C++接口分析

l在上一篇Android 匿名共享内存C接口分析中介绍了Android系统的匿名共享内存C语言访问接口,本文在前文的基础上继续介绍Android系统的匿名共享内存提供的C++访问接口。在C++层通过引入Binder进程间通信机制可以实现跨进程访问匿名共享内存。我们知道Android匿名共享内存的设...

2013-09-17 22:52:58

阅读数:3934

评论数:2

Android 匿名共享内存C接口分析

在Android 匿名共享内存驱动源码分析中详细分析了匿名共享内存在Linux内核空间的实现,虽然内核空间实现了匿名共享内存,但仍然需要在用户空间为用户使用匿名共享内存提供访问接口。Android系统在用户空间,C++应用程序框架层,Java层分别提供了访问接口。本文首先介绍匿名共享内存在用户空...

2013-09-17 09:21:09

阅读数:15751

评论数:8

Android关机流程源码分析

上一篇文章Android 开关机动画显示源码分析详细介绍了开关机动画的显示过程,Android系统开机时,在启动SurfaceFlinger服务过程中通过Android属性系统方式来启动bootanim进程,实现开机动画显示过程;当系统关机时,又是如何启动关机动画的呢?Android系统的整个关...

2013-09-16 16:38:38

阅读数:9165

评论数:2

Android 开关机动画显示源码分析

Android系统在启动SystemServer进程时,通过两个阶段来启动系统所有服务,在第一阶段启动本地服务,如SurfaceFlinger,SensorService等,在第二阶段则启动一系列的Java服务。开机动画是在什么时候启动的呢?通过查看源码,Android开机动画是在启动Surfac...

2013-09-14 18:45:51

阅读数:10106

评论数:1

Android应用程序包扫描过程源码分析

在Android服务之PackageManagerService启动源码分析中介绍了PackageManagerService服务的整个启动过程,启动过程相对来说较为简单,就是构造一个PackageManagerService对象,然后注册到ServiceManager进程中,只是PackageM...

2013-09-13 20:24:42

阅读数:3790

评论数:0

Android瀑布流照片墙实现

瀑布流的布局方式虽然看起来好像排列的很随意,其实它是有排列规则的。整个界面会根据屏幕的宽度划分成等宽的若干列,由于手机的屏幕不是很大,这里我们就分成三列。每当需要添加一张图片时,会将这张图片的宽度压缩成和列一样宽,再按照同样的压缩比例对图片的高度进行压缩,然后在这三列中找出当前高度最小的一列,将图...

2013-09-07 13:58:11

阅读数:1807

评论数:0

Android软Watchdog源码分析

Android看门狗Watchdog用于接收系统内部reboot请求,重启系统,监护SystemServer进程,防止系统死锁。

2013-09-07 10:52:58

阅读数:4511

评论数:1

Android服务之PackageManagerService启动源码分析

了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中。SystemServer进程在启动时,通过创建一个ServerThread线程来启动所有服务,本文主要介绍Android服务中Pa...

2013-09-06 15:27:56

阅读数:7934

评论数:2

Android安装服务installd源码分析

在Android系统中,PackageManagerService用于管理系统中的所有安装包信息及应用程序的安装卸载,但是应用程序的安装与卸载并非PackageManagerService来完成,而是通过PackageManagerService来访问installd服务来执行程序包的安装与卸载的...

2013-09-05 18:32:13

阅读数:6958

评论数:0

Android AsyncChannel源码分析

AsyncChannel类用于处理两个Handler之间的异步消息传递,消息传递的Handler可以出于同一进程,也可以处于不同进程,不同进程之间的Handler消息传递使用Android的Binder通信机制来实现。

2013-09-04 20:16:26

阅读数:5028

评论数:1

Android应用程序介绍页面实现 (二)

本文简单实现了应用程序第一次启动的产品介绍页面的滑动效果,同时使用圆点标签来显示页面位置。

2013-09-04 18:50:41

阅读数:1793

评论数:0

Android应用程序介绍页面实现 (一)

本文简单实现了应用程序第一次启动的产品介绍页面的滑动效果

2013-09-04 18:34:03

阅读数:1895

评论数:0

Android 短信接收监听

实现了短信接收监听,当接收到短信时,可自动回复短信,或自动回拨电话,同时监听短信的发送状态

2013-09-04 16:45:02

阅读数:4842

评论数:0

Android来电监听

实现来电自动接听,自动录音,自动回拨功能。

2013-09-04 11:08:58

阅读数:1647

评论数:1

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