
android
mfbao01
这个作者很懒,什么都没留下…
展开
-
Android的MediaPlayer架构介绍 补充
(muddogxp Android开发者论坛原创,转载请注明) <br />一. 类图扩充<br /><br /> <br />Binder代理,本地接口<br />类图中加入了Bp<Interface>的代理类:BpMediaPlayer, BpMediaPlayerService。这些类和相应的Bn<Interface>互相配对,Bp<Interface>客户端代理接口,而Bn<Interface>实现服务端本地接口。<br />拿BxMediaPlayer来举例:BpMediaP转载 2011-03-10 09:20:00 · 788 阅读 · 0 评论 -
Android智能指针 (sp & wp)
<br />http://bbs.chinabyte.com/thread-452223-1-1.html<br />在Android的源代码中,经常会看到形如:sp<xxx>、wp<xxx>这样的类型定义,这其实是Android中的智能 指针。智能指针是C++中的一个概念,通过基于引用计数的方法,解决对象的自动释放的问题。在C++编程中,有两个很让人头痛的问题:一是忘记释放动态申 请的对象从而造成内存泄露;二是对象在一个地方释放后,又在别的地方被使用,从而引起内存访问错误。程序员往往需要花费很大精力进行精转载 2011-03-17 11:10:00 · 1215 阅读 · 0 评论 -
surfaceflinger中的显示内存管理类--GraphicBuffer
<br />http://blog.youkuaiyun.com/DroidPhone/archive/2010/09/17/5891786.aspx<br />1. Android中的应用层每申请一个Surface,最终会通过jni和binder调用到surfaceflinger中,最终会创建一个Layerxxx(Layer,LayerBuffer,LayerBlur,LayerDim)类,最通常的是Layer类,在Layer类中有一个成员变量:<br /> sp<GraphicBuffer>转载 2011-03-17 15:07:00 · 1081 阅读 · 0 评论 -
Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer
<br />http://blog.youkuaiyun.com/DroidPhone/archive/2010/11/11/6002237.aspx<br />应用程序中不同类型的Surface,在FrameWorks本地层的SurfaceFlinger中,分别对应着不同的Layer类,本文主要是讨论这几种Layer的实现和差异。<br />阅读本文之前,最好对SurfaceFlinger这个系统服务有所了解,可以参阅我的以下两篇文章:Android SurfaceFlinger中的SharedClient -- 客转载 2011-03-17 15:04:00 · 1512 阅读 · 0 评论 -
Android SurfaceFlinger中的工作线程:threadLoop()
<br />http://blog.youkuaiyun.com/DroidPhone/archive/2010/11/02/5982893.aspx<br />SurfaceFlinger继承了Thread类,自然也继承了Thread类的threadLoop方法,SurfaceFlinger工作线程的主代码都在threadLoop()方法中。工作线程启动后,基类Thread会循环地调用threadLoop方法,SurfaceFlinger的threadLoop()主要是要完成系统中各个Layer(Surface)进行转载 2011-03-17 15:02:00 · 1591 阅读 · 0 评论 -
Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Layer)之间的显示缓冲区管理
<br />http://blog.youkuaiyun.com/DroidPhone/archive/2010/10/28/5972568.aspx<br />SurfaceFlinger在系统启动阶段作为系统服务被加载。应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应于SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Lay转载 2011-03-17 14:58:00 · 1346 阅读 · 0 评论 -
Android中的sp和wp指针
<br />经常会在android的framework代码中发现sp<xxx>和wp<xxx>这样的指针,平时看的时候都把他当成一个普通的指针封装过掉了,这几天终于忍不住了,想深入了解一下。<br />相关的代码:<br />frameworks/base/include/utils/RefBase.h<br />frameworks/base/libs/utils/RefBase.cpp<br />sp和wp都是一个模板类,看一下sp类的定义:<br /> view plaincopy to clipbo转载 2011-03-17 11:09:00 · 2477 阅读 · 0 评论 -
Android display system introduce(Qualcomm 8x60 platform)(二、SW架构--1)
一、Overview 上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。 最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如UI界面的显示,这部分通常数据类型为RGB格式,数据无须再经过特殊的处理。该应用可以说遍布各个应用程序,几乎是实时存在的。第二种是针对大块YUV数据的应用,如cam转载 2011-03-11 12:50:00 · 3025 阅读 · 0 评论 -
Android display架构分析
高通7系列硬件架构分析Android display SW架构分析下面简单介绍一下上图中的各个Layer:*蓝色部分-用户空间应用程序应用程序层,其中包括Android应用程序以及框架和系统运行库,和底层相关的是系统运行库,而其中和显示相关的就是Android的Surface Manager,它负责对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。*黑色部分-HAL层,在2.2.1部分会有介绍*红色部分-Linux kernel层Linux kernel,其中和显示部分相关的就是Lin转载 2011-03-11 11:49:00 · 2032 阅读 · 0 评论 -
Android的MediaPlayer架构介绍
本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构。对于Android这样一个完整又相对复杂的系统,一个MediaPlayer功能的实现不在其具体的功能,而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中,这部分不是本文的关注点。本文关注的是MediaPlayer系统的架构,其他的一些Android的应用程序也使用类似的架构。<br /><br /> 对于开源事业在中国的发展,转载 2011-03-10 09:15:00 · 1136 阅读 · 0 评论 -
Android Display System --- Surface Flinger
<br />SurfaceFlinger是Android multimedia 的一个部分,在Android 的实现中它是一个service ,提供系统范围内的surface composer 功能,它能够将各种应用程序的2D 、3D surface 进行组合。在具体讲SurfaceFlinger 之前,我们先来看一下有关显示方面的一些基础知识。 <br /> <br />1、原理分析<br />让我们首先看一下下面的屏幕简略图:<br /><br /><br /> <br /> <br />每个应用程序可转载 2011-03-09 16:47:00 · 1148 阅读 · 0 评论 -
Android下的多媒体开源项目
1. ffmpeg for x86 http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android 没有实现android media interface,标准流程是通过surface输出解码后的YUV视频数据,aud转载 2011-08-16 16:30:29 · 1168 阅读 · 0 评论