广告
返回顶部
首页 > 资讯 > 移动开发 >android双缓冲技术实例详解
  • 216
分享到

android双缓冲技术实例详解

缓冲Android 2022-06-06 10:06:03 216人浏览 独家记忆
摘要

Android中的SurfaceView类就是双缓冲机制。因此,在进行Android游戏开发时应尽量使用SurfaceView而不要使用View,这样的话效率较高,并且Surf

Android中的SurfaceView类就是双缓冲机制。因此,在进行Android游戏开发时应尽量使用SurfaceView而不要使用View,这样的话效率较高,并且SurfaceView的功能也更加完善。为了更容易的了解双缓冲技术,下面介绍用View实现双缓冲的方法。

在此需要说明一下,双缓冲的核心技术就是先通过setBitmap方法将要绘制的所有的图形绘制到一个Bitmap上,然后再来调用drawBitmap方法绘制出这个Bitmap,显示在屏幕上。其具体的实现代码如下:

先贴出View类代码:


package com.lbz.pack.test;
import Android.content.Context;
import android.graphics.Bitmap;
import android.graphics.canvas;
import android.graphics.Paint;
import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
public class GameView extends View implements Runnable
{
 
 Bitmap mBitQQ = null;
 Paint  mPaint = null;
 
 Bitmap mSCBitmap = null;
 
 Canvas mCanvas = null;  
 public GameView(Context context)
 {
 super(context);
 
 mBitQQ = ((BitmapDrawable) getResources().getDrawable(R.drawable.qq)).getBitmap();
 
 mSCBitmap=Bitmap.createBitmap(320, 480, Config.ARGB_8888); 
 
 mCanvas = new Canvas(); 
 
 mCanvas.setBitmap(mSCBitmap); 
 mPaint = new Paint();
 
 mCanvas.drawBitmap(mBitQQ, 0, 0, mPaint);
 
 new Thread(this).start();
 }
 public void onDraw(Canvas canvas)
 {
 super.onDraw(canvas);
 
 canvas.drawBitmap(mSCBitmap, 0, 0, mPaint);
 }
 // 触笔事件
 public boolean onTouchEvent(MotionEvent event)
 {
 return true;
 }
 // 按键按下事件
 public boolean onKeyDown(int keyCode, KeyEvent event)
 {
 return true;
 }
 // 按键弹起事件
 public boolean onKeyUp(int keyCode, KeyEvent event)
 {
 return false;
 }
 public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
 {
 return true;
 }
 
 public void run()
 {
 while (!Thread.currentThread().isInterrupted())
 {
  try
  {
  Thread.sleep(100);
  }
  catch (InterruptedException e)
  {
  Thread.currentThread().interrupt();
  }
  //使用postInvalidate可以直接在线程中更新界面
  postInvalidate();
 }
 }
}
您可能感兴趣的文章:Android采用双缓冲技术实现画板android实现简单的画画板实例代码双缓冲技术实现Android 画板应用


--结束END--

本文标题: android双缓冲技术实例详解

本文链接: https://www.lsjlt.com/news/27060.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作