나는 강력하게 drawRect()
을 권장합니다.
비트 맵은 엄청난 양의 메모리를 차지하며 올바르게 사용되지 않을 경우 Out Of Memory
예외가 발생할 수 있습니다. 안드로이드 글
는 :
는
비트 맵 특히 사진과 같은 풍부한 이미지, 메모리를 많이 차지합니다. 예를 들어 Galaxy Nexus의 카메라는 최대 2592x1936 픽셀 (5 메가 픽셀)의 사진을 찍습니다. 사용 된 비트 맵 구성이 ARGB_8888 (Android 2.3 이후의 기본값) 인 경우이 이미지를 메모리에로드하면 약 19MB의 메모리 (2592 * 1936 * 4 바이트), 이 즉시 일부 장치의 앱당 한도를 소모합니다.
두통 및 예상치 못한 충돌을 방지합니다. 사용 drawRect();
다른 개체에 대해이 4 가지 그림을 정기적으로 수행하는 경우 모두 4를 수행하는 방법을 작성하는 것이 좋습니다. 그래서 당신은 거대한 반복을 일으키지 않습니다. 예를 들어
: 당신이 그것을 장점을 가지고 않기 때문에, 비트 맵을 그리기 위해 이동하는 경우에
가
public void DrawMyRect(Canvas canvas, int x, int y)
{
canvas.drawRect(x, y ,x + 15, y + 40, paint);
// Draw its line etc etc..
}
또는 :
See this epic Link by Android, on how to properly use Bitmaps
왜 시간을 보내지 않으십니까? – Cheesebaron
시간을 할애하면 paint.setColor(); 당신은 드로 루틴에서 당신의 페인트를 바꾸어서는 안됩니다, 당신은 4 개의 페인트가 있어야합니다. 각 직사각형에 대해 각각을 사용합니다. 또는 동일한 색상을 칠하는 경우 다시 사용하십시오. – Tatarize