嘿我需要在我的应用程序中缩放位图,但缩放工作太慢,有时我会在相反的方向上获得这些随机缩放事件。这是我的提款方法:
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;
}
谢谢。
答案 0 :(得分:1)
缩放时不存在实际问题。您在BitmapFactory.decodeResource
方法中访问光盘(onDraw
) - 这是非常缓慢的操作。
将以下代码移至构造函数:
mBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.ucsbmap);