zoukankan      html  css  js  c++  java
  • 安卓学习59

    今天学习了安卓的一些知识其中主要的是:

    View 和和SurfaceView

    在Android 游戏当中充当主要的除了控制类外就是显示类,在J2ME 中我们用Display 和Canvas 来实现这些,而Google

    Android 中涉及到显示的为view 类,Android 游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下

    android.view.View 和android.view.SurfaceView。SurfaceView 是从View 基类中派生出来的显示类,直接子类有

    GLSurfaceView 和VideoView,可以看出GL 和视频播放以及Camera 摄像头一般均使用SurfaceView,到底有哪些优势呢?

    SurfaceView 可以控制表面的格式,比如大小,显示在屏幕中的位置,最关键是的提供了SurfaceHolder 类,使用getHolder

    方法获取,相关的有:

    Canvas lockCanvas()

    Canvas lockCanvas(Rect dirty) 、

    void removeCallback(SurfaceHolder.Callback callback)、

    void unlockCanvasAndPost(Canvas canvas) //控制图形以及绘制,

    而在SurfaceHolder.Callback 接口回调中可以通过下面三个抽象类可以自己定义具体的实现,比如第一个更改格式和

    显示画面。

    abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height)

    abstract void surfaceCreated(SurfaceHolder holder)

    abstract void surfaceDestroyed(SurfaceHolder holder)

    对于Surface 相关的,Android 底层还提供了GPU 加速功能,所以一般实时性很强的应用中主要使用SurfaceView 而

    不是直接从View 构建,同时Android123 未来后面说到的OpenGL 中的GLSurfaceView 也是从该类实现。

  • 相关阅读:
    经典笔试题:用C写一个函数测试当前机器大小端模式
    一个结构体传递方式的问题
    ESP8266 NON-OS SDK 和 RTOS SDK实现GPIO中断不同点
    关于C语言中内存的3个问题
    ESP8266 station模式下建立client、server TCP连接
    连续更新了42天早报之后
    简单socket()编程
    TCP协议学习
    linux系统如何管理文件
    Linux文件操作的主要接口API及相关细节
  • 原文地址:https://www.cnblogs.com/092e/p/14916716.html
Copyright © 2011-2022 走看看