Android中的Surface和SurfaceView】的更多相关文章

一.什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface的Canvas上(后面有原因解释).传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行. 在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen c…
传入一个surface,然后让openGL在surface上画图 window->view hierachy(DecorView是tree的root)->ViewRoot->Surface 某一个view->surfacesurfaceview是在view hierachy中embedded的surface 普通的是通过view访问surface window manager会通过layer协调各个surface画图到frame buffer中去 一个activity对应一个或多个…
原文:Android图形系统之Surface.SurfaceView.SurfaceHolder及SurfaceHolder.Callback之间的联系 Surface是原始图像缓冲区(raw buffer)的一个句柄,而原始图像缓冲区是由屏幕图像合成器(screen compositor)管理的. Surface本身的作用类似一个句柄,得到了这个句柄就可以得到其中的Canvas.原生缓冲器以及其它方面的内容. 通过SurfaceHolder这个接口去访问Surface,而执行getHolder…
1.Surface Surface extends Objectimplements Parcelable java.lang.Object    ↳ android.view.Surface Class Overview Handle onto a raw buffer that is being managed by the screen compositor. 简单翻译: Surface是原始图像缓冲区(raw buffer)的一个句柄,而原始图像缓冲区是由屏幕图像合成器(screen c…
package com.test.video; import java.io.IOException; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.Surf…
一.Surface Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原生缓冲器的句柄”.这句话包括如下两个意思: 通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容.就像在C语言中,可以通过一个文件的句柄,就可以获得文件的内容一样: 原生缓冲器(…
转载请包含网址:http://blog.csdn.net/pathuang68/article/details/7351317 一.Surface Surface就是“表面”的意思.在SDK的文档中,对Surface的描述是这样 的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原生缓冲器的句柄”,这句话包括下面两…
1.相关概念 不用画布,直接在窗口上进行绘图叫做无缓冲绘图. 用了一个画布,将所有内容都先画到画布上,在整体绘制到窗口上,就该叫做单缓冲绘图, 那个画布就是一个缓冲区.用了两个画布,一个进行临时的绘图,一个进行最终的绘图,这样就叫做双缓冲绘图. 2.Surface     Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,Android中的Surface就是…
一 目的 本节的目的就是为了讲清楚Android中的Surface系统,大家耳熟能详的SurfaceFlinger到底是个什么东西,它的工作流程又是怎样的.当然,鉴于SurfaceFlinger的复杂性,我们依然将采用情景分析的办法,找到合适的切入点. 一个Activity是怎么在屏幕上显示出来的呢?我将首先把这个说清楚. 接着我们把其中的关键调用抽象在Native层,以这些函数调用为切入点来研究SurfaceFlinger.好了,开始我们的征途吧. 二 Activity是如何显示的 最初的想法…
我们在Android中经常会使用SurfaceView编写自定义的摄像头,可是有的时候会经常会出现图像的变形,我们就会很郁闷的问这到底是为什么呢?其实这个最根本的原因是SurfaceView和PreViewSize的尺寸不是同一个比率. 所谓PreViewSize就是在预览的时候帧数据的尺寸,SurfaceView是用来预览Camera的视图,它的尺寸也就是Screen全屏时候的大小.还有一个重要尺寸的是PictureSize,这个是拍照后图片的尺寸,就是所保存的结果图片的大小. 所以解决刚刚问…