Android 雙緩沖技術

jopen 10年前發布 | 24K 次閱讀 Android Android開發 移動開發

    為了有效控制閃屏現象,可以使用雙緩沖來加載資源顯示。
/**

 * 雙緩沖技術實例  
 * @author b  
 *  
 */  
public class Surfaceview extends View implements Runnable{  

    //要繪制的圖片  
    private Bitmap mBitmap;  
    private Paint paint;  
    //內存一塊緩沖區  
    private Bitmap sBitmap;  
    private Canvas canvas;  
    public Surfaceview(Context context) {  
        super(context);  
        //加載圖片到內存  
        mBitmap = ((BitmapDrawable)getResources().getDrawable(R.drawable.b122)).getBitmap();  
        //創建指定大小的緩沖區域  
        sBitmap = Bitmap.createBitmap(1000, 800, Bitmap.Config.ARGB_8888);  
        canvas = new Canvas();  
        //  
        canvas.setBitmap(sBitmap);  
        paint = new Paint();  
        //把圖片繪制在緩沖區域上  
        canvas.drawBitmap(mBitmap, 0, 0, paint);  
        new Thread(this).start();  
    }  

    @Override  
    protected void onDraw(Canvas canvas) {  
        super.onDraw(canvas);  
        //將緩沖區域的圖片顯示出來  
        canvas.drawBitmap(sBitmap, 0, 0, paint);  
    }  
    @Override  
    public void run() {  
        while(!Thread.currentThread().isInterrupted()){  
            try {  
                Thread.sleep(100);  
            } catch (Exception e) {  
                Thread.interrupted();  
            }  
            postInvalidate();  
        }  
    }  

}  </pre><br />
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!