如何加快android中的扩展速度

时间:2012-05-21 00:05:18

标签: android scaling android-canvas

嘿我需要在我的应用程序中缩放位图,但缩放工作太慢,有时我会在相反的方向上获得这些随机缩放事件。这是我的提款方法:

public void onDraw(Canvas canvas) {
        mBitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.ucsbmap);
        canvas.drawBitmap(mBitmap, matrix, mPaint);    
}

和我的onScale方法(处理我的位图缩放的SimpleOnScaleGestureListener的一部分)

     public boolean onScale(ScaleGestureDetector detector) {      
          float scaleFactor = detector.getScaleFactor();
          float x = detector.getFocusX();
          float y = detector.getFocusY();
          matrix.setScale(scaleFactor, scaleFactor, x, y);
          repaint();
          return true;
     }

谢谢。

1 个答案:

答案 0 :(得分:1)

缩放时不存在实际问题。您在BitmapFactory.decodeResource方法中访问光盘(onDraw) - 这是非常缓慢的操作。

将以下代码移至构造函数:

mBitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.ucsbmap);