`
Aina_hk55HK
  • 浏览: 387901 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android 双缓冲

阅读更多
SurfaceView本来就是采用双缓冲的技术实现的,所以此处只练习View的双缓冲使用

package com.Aina.Android;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.view.View;

/**
 * com.Aina.Android Pro_Canvas
 * 
 * @author Aina.huang E-mail: 674023920@qq.com
 * @version 创建时间:2010 Jun 17, 2010 3:14:33 PM 类说明
 */
public class GameView extends View {

	private Bitmap mBitmap = null;
	private Bitmap mBitmap2 = null;
	private Canvas mCanvas = null;
	private Paint mPaint = null;

	public GameView(Context context) {
		super(context);
		mBitmap = ((BitmapDrawable) this.getResources().getDrawable(
				R.drawable.img)).getBitmap();
		mBitmap2 = Bitmap.createBitmap(320, 480, Config.ARGB_8888);//创建屏幕大小的缓冲区
		mCanvas = new Canvas();
		mCanvas.setBitmap(mBitmap2);//设置将内容绘制在mBitmap2上面
		mPaint  = new Paint();
		mCanvas.drawBitmap(mBitmap, 0, 0, mPaint);//将图片绘制到缓冲屏幕上面
	}

	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		canvas.drawBitmap(mBitmap2, 0, 0, mPaint);
	}

}



package com.Aina.Android;

import android.app.Activity;
import android.os.Bundle;

public class Test_Canvas extends Activity {
    /** Called when the activity is first created. */
	private GameView gv = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        gv = new GameView(this);
        setContentView(gv);
    }
}
分享到:
评论

相关推荐

    android双缓冲解决图片内存溢出的问题

    在Android中实现双缓冲,我们通常结合Bitmap和Canvas进行操作。以下是一个简单的步骤: 1. 创建两个Bitmap对象,分别代表两个缓冲区。一般来说,我们会选择在内存中创建一个较小的Bitmap,以降低内存占用。 2. 在...

    android双缓冲技术实例详解

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

    android surfaceView 双缓冲

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

    Android应用源码之VIEW双缓冲与SurfaceView比较-IT计算机-毕业设计.zip

    在Android应用开发中,理解和掌握View的双缓冲机制以及SurfaceView的使用是非常关键的技能,尤其是在性能优化和游戏开发方面。下面将详细讲解这两个概念及其差异。 **双缓冲技术** 双缓冲是一种图形绘制优化技术,...

    Android采用双缓冲技术实现画板

    【Android 双缓冲技术实现画板】 在Android开发中,为提高图形绘制的效率和避免闪烁,常常会采用双缓冲技术。本篇文章将详细介绍如何在Android中利用双缓冲技术实现一个自定义的画板功能。 1. **双缓冲技术概念** ...

    Android 画板源码

    `SurfaceView`是一个双缓冲的视图,可以在后台线程中高效地进行绘图操作,避免UI线程阻塞,确保流畅的用户体验。 2. **Canvas与Paint**: `Canvas`是Android图形绘制的基础,开发者通过`Canvas`可以进行各种绘图操作...

    Android应用源码之VIEW双缓冲与SurfaceView比较.rar

    总之,理解和掌握双缓冲技术以及SurfaceView的使用,对于Android开发者来说至关重要,它们可以帮助我们编写出更流畅、响应更快的应用程序,提升用户体验。源码分析是一个很好的学习途径,可以从实践中理解这些理论...

    播放PCM音频数据的双缓冲用法

    ### 播放PCM音频数据的双缓冲用法详解 #### 一、引言 在多媒体领域,尤其是音频处理方面,对于实时性有着极高的要求。为了确保音频播放的流畅性和减少延迟,开发者通常会采用双缓冲技术。本文将详细介绍在Windows...

    listview 双缓冲技术

    在Android中实现ListView的双缓冲优化,可以采取以下策略: 1. 使用ViewHolder模式:复用已创建的列表项视图,避免频繁创建新对象,减少内存分配和回收的压力。 2. 异步加载数据:将数据的获取和处理工作放在后台...

    Android 演示View双缓冲、SurfaceView缓冲的区别.rar

    Android 演示View双缓冲、SurfaceView缓冲的区别,使用了部分Canvas的方法,本实例通过使用View和SurfaceView分别绘制两条曲线图,然后可以比较出两者的区别,能看出两条线在绘制过程中的差异。

    异步双缓冲加载图片

    在Android开发中,异步加载图片是一项至关重要的...总之,异步双缓冲加载图片是Android开发中的最佳实践,它兼顾性能和用户体验。理解并掌握这一技术,对优化图片加载效率、防止OOM以及提升应用整体质量具有重要意义。

    安卓Android源码——VIEW双缓冲与SurfaceView比较.zip

    "VIEW双缓冲"和"SurfaceView"是Android系统中两个重要的图形渲染机制,它们各自有其特性和应用场景。在这里,我们将详细探讨这两个概念及其差异。 首先,我们来了解一下双缓冲技术。在Android的View绘制过程中,双...

    android SurfaceView双缓冲Demo

    本`Demo`着重展示了如何使用`SurfaceView`实现双缓冲技术,以优化图形绘制性能,提高用户体验。 双缓冲是一种图形渲染策略,用于减少屏幕闪烁和图像撕裂现象。在Android的`SurfaceView`中,它通过维护两个缓冲区...

    android 双缓存画图demo

    当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。  双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个...

    Android应用源码之VIEW双缓冲与SurfaceView比较.zip

    在Android应用开发中,理解和掌握视图(View)的双缓冲技术以及如何与SurfaceView进行比较是至关重要的。本文将深入探讨这两个主题,并通过源码分析来揭示它们的工作原理。 首先,我们来了解一下双缓冲技术。在图形...

    Android高级应用源码-DrawPanel双缓冲实现画板.zip

    "DrawPanel双缓冲实现画板"是一个典型的示例,展示了如何利用Android的绘图API来创建一个交互式的画板应用。这个源码着重讲解了双缓冲技术在Android自定义View中的应用,以实现流畅的绘图体验。 首先,我们要理解...

    Android双缓存机制

    在Android开发中,为了优化用户体验,特别是在处理大量数据如ListView或GridView时,通常会采用双缓存机制来解决图片加载的问题。这种机制主要是为了解决因网络延迟或内存不足导致的图片加载慢或者闪退等问题。双...

Global site tag (gtag.js) - Google Analytics