我刚刚接触android开发不久,写了个小游戏做实验,但是画面效果很不好,闪烁立体感模糊,我想如果在windows的平台下的话用双缓冲技术就能解决这样的问题,所以我想问有没有类似双缓冲的用法!谢谢!

解决方案 »

  1.   

    android可以用SurfaceView,一般做游戏会使用SurfaceView开线程来刷帧,很流畅的。可以搜索下android SurfaceView 双缓冲 
    http://www.google.com.hk/search?q=android+SurfaceView+%E5%8F%8C%E7%BC%93%E5%86%B2&client=aff-1616dh&channel=footer&newwindow=1&gs_sm=e&gs_upl=4547l13750l0l13969l23l23l1l13l0l2l1032l2689l3-1.0.1.1.1l4l0&oq=android+SurfaceView+%E5%8F%8C%E7%BC%93%E5%86%B2&aq=f&aqi=g10&aql=
      

  2.   

    有两种方法实现双缓冲效果
    第一种是创建一个Bitmap作为缓存对象,并且创建两个canvas,一个canvas写缓存,另一个用来将缓存的图形在view中绘制出来。
    例如:
    Bitmap mBitmap; // 还用它当二级缓存
    Canvas bmpCanvas; // 用来写缓存

    mBitmap = Bitmap.createBitmap(BMP_WIDTH, BMP_HEIGHT, Config.ARGB_8888); //设置缓存大小,格式等
    bmpCanvas = new Canvas(mBitmap); //让canvas与缓存关联起来
    cacheCanvas.draw(path,paint);//将要绘制的图形绘制到缓存中最后在View的onDraw方法中调用:
    canvas.drawBitmap(cacheBitmap,0,0,bmpPaint);
    canvas.draw(path,paint);//这个把缓存的图形绘制到View中第二种方法就是采用SurfaceView,自带双缓存功能,可以直接在上面绘图,甚至能够实现局部更新的效果。