如何轻松理解Android中的Surface概念
安卓开发中,涉及多媒体尤其是视频,经常会接触到一个概念Surface
那么如何理解他呢。最简单的理解就是其实就是一块内存区域仅此而已。
如果通过字面理解,好像是一个平面,但这个平面在哪里呢?
写代码经常有这个感觉,Surface传来传去,生成销毁,甚至MediaRecorder进行
内容录制的时候也能创建Surface ,Jni中也能看到surface的引用。但奇怪的是,经常在界面上却没有
任何看得见的区域,说这个区域就是一个Surface。有人就会晕了,我咋看不见什么Surface啊!!!
关键在这里,Surface并不是对应了一个界面,只是为了存放类似视频,图像数据而创造的一块内存区域。
只是这块内存区域可以有一个几何意义就是有个长度,有个宽度,长度乘以宽度就是这块内存的大小。所以有了
长宽意义的内存区域就可以代表一个平面,故管他叫做Surface。
所以今后开发时不必纠结 ,我TM为何看不见哪里有一个“平面”了。
如何轻松理解Android中的Surface概念相关推荐
- Android中的Android中的Surface和SurfaceView
一.什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface上.传统的view共享一块屏幕缓冲区,所有的绘制必须在U ...
- 【转】Android菜单详解——理解android中的Menu--不错
原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...
- Android菜单详解——理解android中的Menu
前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters 上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameter ...
- React最佳实践系列 —— 循序渐进理解 Dva中的model概念
Dva最佳实践 -- 循序渐进理解 Dva中的model概念 一. 序 二. 在create-react-app中使用redux 1. 开始 2. 安装redux 三.异步action 四. Dva中 ...
- Android中的Surface, SurfaceHolder, SurfaceHolder.Callback, SurfaceView
传入一个surface,然后让openGL在surface上画图 window->view hierachy(DecorView是tree的root)->ViewRoot->Surf ...
- 彻底理解 Android 中的阴影
如果我们想创造更好的 Android App,我相信我们需要遵循 Material Design 的设计规范.一般而言,Material Design 是一个包含光线,材质和投影的三维环境.如果我们想 ...
- 彻底理解 Android 中的阴影 1
如果我们想创造更好的 Android App,我相信我们需要遵循 Material Design 的设计规范.一般而言,Material Design 是一个包含光线,材质和投影的三维环境.如果我们想 ...
- android view 绘制过程,深入理解Android中View绘制的三大流程
前言 最近对Android中View的绘制机制有了一些新的认识,所以想记录下来并分享给大家.View的工作流程主要是指measure.layout.draw这三大流程,即测量.布局和绘制,其中meas ...
最新文章
- 如何用burp抓取手机的流量_用企业微信SCRM如何搭建流量新体系
- Java数据结构简述
- arg是什么函数_java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪...
- linux集群搭建coolrainbow,Rainbow°110408_教程▍KBFS听歌学韩语—So Cool[Rainbow]
- redis本地及远程登录
- 怎样切换git账号密码错误_git中多账号切换问题的解决方案(转)
- linux基础篇-24,swap交换分区临时救急及划分方法
- 一叶知秋:基于“单目标域样本”的领域自适应方法
- 如何在Linux启动jar 包
- 医疗软件测试工作流程
- pygame安装教程(小白入手)
- 计算机无法打印图片,电脑中打印机可以打印文档却无法打印图片如何解决
- 简单好用的开源会议室预约系统
- 还没毕业,我就进了HR的黑名单!
- 【ECLIPSE 二】eclipse java web 版本修改问题 3.0-2.5
- [工具]Firefox(火狐浏览器)常用插件
- pjax使用心得总结
- 什么是JAVA人才外派服务?
- Adaptively Up-Sampling Point-Sampled Models
- L1-033 出生年 (15 分)(简单解法)