`
haking
  • 浏览: 264712 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android SurfaceView

 
阅读更多

最近自己做了个指南针应用,用到了SurfaceView。总结下Surfaceview与View的区别:

(因为写程序时是用英语写的注释和笔记,这里就贴英语的,但是本人英语不是很好。)

 

SurfaceView VS View


SurfaceView has an instance of Surface which can use OS background thread to
handle onto a raw buffer that is being managed by the screen compositor.


Because of Surface, SurfaceView has two main difference from View:
1. SurfaceView can draw canvas in background thread, not UI thread.
2. SurfaceView can use OpenGL(via Surface) which can draw 3D object
  and use Hardware Acceleration to have a faster drawing.


Therefore, if we have to use 3D or high FPS(Frame per Second) performance,
use SurfaceView; otherwise use View.

 

Something about Surfaceview native code


Android graphic engine -- Skia -- main class type SkCanvas


View.invalidate() --- Android framework --- View.onDraw() --- Nativecode draw on SkCanvas


SurfaceHolder.lockCanvas() to get SkCanvas --- Nativecode draw on SkCanvas --- SurfaceHolder.unlockCanvasAndPost()

 

refer to:

http://branda.to/~thinker/GinGin_CGI.py/show_id_doc/404

分享到:
评论

相关推荐

    android surfaceview自定义拍照 绘制头像轮廓

    在Android开发中,`SurfaceView`是一个非常重要的组件,它提供了与硬件图形渲染直接交互的能力。这个项目"android surfaceview自定义拍照 绘制头像轮廓"是基于网上现有的示例代码进行了修改,用于实现一个自定义的...

    Android SurfaceView 实现图片缩放 滑动

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者创建高性能的图形界面,尤其适合处理视频播放或游戏等需要连续刷新的场景。本话题主要探讨如何利用SurfaceView实现图片的缩放和滑动功能。 首先,理解...

    android surfaceview 悬浮窗圆角 windowmanager

    在Android开发中,`SurfaceView`是一个特殊类型的`View`,它允许开发者在应用程序中创建一个独立于应用程序主线程的渲染表面。`SurfaceView`通常用于处理高性能的图形或者视频播放,因为它可以在单独的线程中进行...

    Android SurfaceView使用Demo

    **Android SurfaceView 使用详解** `SurfaceView` 是 Android 系统提供的一种特殊的视图组件,它允许开发者在应用程序中创建高性能的图形界面,比如游戏、视频播放器等需要连续更新图像的应用。`SurfaceView` 提供...

    android SurfaceView做二维码扫描源码

    在Android开发中,实现二维码和一维码扫描功能通常涉及到多个关键知识点,其中包括SurfaceView的使用、摄像头控制、图像处理以及二维码识别库的集成。以下将详细解释这些内容。 首先,`SurfaceView`是Android系统...

    Android SurfaceView 多线程 滑块

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在单独的线程中进行绘制操作,从而提高图形渲染性能,特别适用于需要连续更新显示内容的应用,如游戏、视频播放等。本示例中,"Android SurfaceView 多...

    android SurfaceView实现人物动画

    在Android开发中,SurfaceView是一种特殊的视图组件,它提供了在UI线程之外进行渲染的能力,使得复杂的动画或视频播放成为可能。在这个“android SurfaceView实现人物动画”的示例程序中,我们将深入探讨如何利用...

    android surfaceView 双缓冲

    android使用双缓冲辨析及surfaceview使用例子

    Android SurfaceView 实现实时显示摄像头视频

    `SurfaceView`是Android提供的一种用于高效显示多媒体数据的视图组件,尤其适合处理像视频流这样的实时数据。本篇文章将深入探讨如何利用`SurfaceView`实现实时显示摄像头视频。 首先,我们需要了解`SurfaceView`的...

    Android SurfaceView添加组件view不被组件覆盖.zip

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者创建高性能的图形界面,比如游戏、视频播放等需要频繁更新画面的应用。SurfaceView有一个特点,就是它的内容在窗口的最顶层,通常不会被其他普通View...

    Android SurfaceView添加组件view不被组件覆盖-IT计算机-毕业设计.zip

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在应用程序中创建高性能的图形界面,比如游戏或者视频播放器。SurfaceView具有自己的绘制表面,与主线程分离,因此可以进行独立于UI线程的高性能渲染。...

    android SurfaceView游戏框架

    在Android平台上开发游戏时,SurfaceView是一个至关重要的组件,它为高效、低延迟的图形渲染提供了可能。SurfaceView是Android系统提供的一种特殊视图,它有自己的独立绘制表面,与主线程分离,使得游戏或者视频这类...

    Android SurfaceView实现动画效果

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在单独的线程中进行高性能的图形绘制,常用于游戏或者视频播放等需要连续更新显示内容的场景。本篇文章将详细探讨如何利用SurfaceView实现动画效果,...

    android surfaceview示例源码下载

    android中的surfaceview示例源码下载,Android SurfaceView在游戏开发中使用想当广泛,SurfaceView对于画面的控制有着更大的自由度,它不像View那样要用handler来更新,但是网上关于 SurfaceView使用这方面的参考...

    android SurfaceView添加线程源码

    在Android开发中,`SurfaceView`是一个非常重要的视图组件,尤其在处理高性能图形和视频渲染时。`SurfaceView`提供了直接与硬件图形管道交互的能力,使得开发者可以在单独的线程中进行绘制,从而避免阻塞UI主线程,...

    Android SurfaceView实现加载GIF动画

    在Android开发中,`SurfaceView`是一个非常重要的组件,它为高效显示动态图像和视频提供了可能。本篇文章将深入探讨如何使用`SurfaceView`来实现加载GIF动画,这是一个常见的需求,特别是在游戏开发或者需要实时渲染...

    Android中SurfaceView截屏

    在Android开发中,`SurfaceView`是一个非常重要的视图组件,尤其在处理视频播放、游戏渲染等高性能图形操作时,它的优势在于拥有独立于主线程的渲染机制,能避免阻塞UI更新。然而,由于其特殊的性质,直接通过常规...

    安卓Android源码——SurfaceView添加组件view不被组件覆盖.zip

    `Android SurfaceView添加组件view不被组件覆盖` 这个文件可能是示例代码或者详细教程,里面应该包含了如何将这些概念应用到实际项目中的具体步骤。 总的来说,处理 `SurfaceView` 与其他组件的层次关系是安卓开发...

    Android SurfaceView实现人物动画

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在应用程序中创建高性能的图形界面,特别是用于实现动画效果,如游戏或者视频播放等。SurfaceView拥有自己的绘图表面,与主线程分离,因此在处理复杂的...

Global site tag (gtag.js) - Google Analytics