博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双缓冲技术
阅读量:5950 次
发布时间:2019-06-19

本文共 1376 字,大约阅读时间需要 4 分钟。

hot3.png

package com.gavin;

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;
import android.view.WindowManager;
/**
 * 测试双缓冲
 *
 * 先通过setBitmap()将绘制的所有图片绘制到一个bitmap上,
 * 然后再调用drawbitmap()绘制这个bitmap显示到屏幕上
 *         2013-4-6
 */
public class DoubleBffer extends View
{
    private Bitmap mBitmapQQ;
    private Paint mPaint;
    /** 创建一个缓冲区 */
    private Bitmap mscBitmap;
    private Canvas mCanvas;
    public DoubleBffer(Context context)
    {
        super(context);      
        
        mBitmapQQ = ((BitmapDrawable) getResources().getDrawable(R.drawable.qq)).getBitmap();
       
    
        WindowManager manager=(WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
        int width=manager.getDefaultDisplay().getWidth();
        int height=manager.getDefaultDisplay().getHeight();
        /** 创建屏幕大小的缓冲区 */
        mscBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
        mCanvas = new Canvas();
        /** 设置将内容绘制在mscBitmap上 */
        mCanvas.setBitmap(mscBitmap);
        mPaint = new Paint();
        /** 将mBitmapQQ绘制到mscBitmap上 */
        mCanvas.drawBitmap(mBitmapQQ, 0, 0, mPaint);
        //第二张图片绘制
        int secbitmapStartY=mBitmapQQ.getHeight();
 
    }
    public void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);
        /**将mscBitmap显示到屏幕上*/
        canvas.drawBitmap(mscBitmap, 0, 0, mPaint);
    }
}

转载于:https://my.oschina.net/gavinjin/blog/126646

你可能感兴趣的文章
mysql 优化
查看>>
嵌入式C语言编程经验总结
查看>>
vijos 1790 拓扑编号&& bzoj 4010 4010: [HNOI2015]菜肴制作
查看>>
- configuration.module has an unknown property 'loader' 问题解决
查看>>
OAuth2.0应用开发代码探讨
查看>>
46. Permutations 回溯算法
查看>>
RMQ小结
查看>>
汉诺塔系列2-sdut
查看>>
httpHandler实现.Net无后缀名Web访问
查看>>
Java几种常见的编码方式
查看>>
OD学习笔记10:一个VB程序的加密和解密思路
查看>>
POJ 1742 Coins DP 01背包
查看>>
APP专项测试方法有哪些?
查看>>
java秒表
查看>>
oracle 相除后保留指定位数小数round()
查看>>
一键安装thrift-0.9.0的脚本
查看>>
2.1. 托管对象模型是什么(Core Data 应用程序实践指南)
查看>>
iOS learning website
查看>>
Floyd算法简介
查看>>
正则 挖网站表格复习
查看>>