2012-05-21 4 views
2

어쨌든 스케일링은 너무 느리게 작동하고, 때로는 반대 방향으로 이러한 임의의 스케일링 이벤트를 얻습니다.안드로이드에서 스케일링 속도를 높이는 방법

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; 
    } 

감사합니다 : 여기 내 된 onDraw 방법이다.

답변

1

스케일링에는 문제가 없습니다. onDraw 방법으로 디스크 (BitmapFactory.decodeResource)에 액세스하는 중입니다. 작동이 느립니다. 생성자에

이동 다음 코드를

mBitmap = BitmapFactory.decodeResource(getResources(), 
      R.drawable.ucsbmap); 
관련 문제