Androird GDI之共享缓冲区机制 1  native_handle_t对private_handle_t 的包裹     private_handle_t是gralloc.so使用的本地缓冲区私有的数据结构,而Native_handle_t是上层抽象的可以在进程间传递的数据结构.在客户端是如何还原所传递的数据结构呢?首先看看native_handle_t对private_handle_t的抽象包装.                      qw.jpg (24.35 KB, 下载次数:…
Android GDI之屏幕设备管理-动态链接库 万丈高楼从地起,从最根源的硬件帧缓冲区开始.我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某个位置.我们从基本的点(像素点)和基本的缓冲区操作开始. 1 基本知识1.1点的格式 对于不同的LCD来讲,FrameBuffer的二进制格式不一样,并且可以分为两部分: 1)点的格式:通常将Depth,即表示多少位表示一个点. 1位表示一个点 2位表示一个点 16位表示一个点 32位表示一个点(A…
Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoints,drawRect,drawBitmap …                    jj.jpg (5.64 KB, 下载次数: 0) 下载附件  保存到相册 2012-3-22 13:02 上传   1 Canvas与Surface之间本质关系 对于本节,我们不去研究Skia图形引擎本身,我们需要了…
Android GDI之SurfaceFlinger SurfaceFinger按英文翻译过来就是Surface投递者.SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构.SufaceFlinger主要功能是: 1) 将Layers (Surfaces) 内容的刷新到屏幕上 2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算. 3) 响应Client要求,创建Layer与客户端的Surface建立连接 4) 接收Client要求,修改Layer属性(输出…
3 Activity设计框架 3.1 外特性空间的Activity    我们先来看看,android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的Activity.应用程序员在建立Android应用时,构建Activity的子类就是Andoid外特性空间展现的接口.我们可以从下面的简单的例子描述看看Activity,到底如何建立的. DemoActivity extend Activitya { onCreate onResume onPau…
Android应用程序框架1 无边界设计理念 Android的应用框架的外特性空间的描述在SDK文档(http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask)有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述.在外特性空间中,Android提供了Activity,Service,Broadcast receivers,Content Provider,Intent,task等概念,…
Android Application Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征.在Android实际空间中看不到实际意义上的应用程序的概念,即使有一个叫Application的类,这个也就是个应用程序上下文状态,是一个极度弱化的概念.Application只是一个空间范畴的概念,Application就是Activity,Service之类的组件上下文描述.Application并不是Android的核心概念,而Activit…
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} -dontwarn com.hyphenate.** 即:混淆规则. 自己没写过关于混淆打包的文章,在此补上. 下面了解Android studio环境下 项目混淆打包的操作. ------------------------------------------------------------…
一.Android虚拟设备入口 上期我们使用了Android Studio创建了HeloWorld工程,要想运行该工程,首先需要一个Android虚拟设备来模拟Android程序的运行. 重新打开Android Studio开发IDE工具,如下图所示: 会发现这次打开有一些变化,在左侧会列出最近打开或创建的Android Studio工程.选择我们上期创建的HelloWorld工程,如下图: 又回到了我们熟悉的界面,由于本期我们主要学习在Android Studio中如何创建和使用Android…
 Android GDI基本框架 在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了.但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理. GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个物理屏幕使用的管理器.因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,对所有窗口输出,应用程序不会关心物理屏幕是否被别的窗口占用,而只是关心自己在本窗口的输出,至于输出是否能在屏幕上看见,则需要G…