안드로이드 개발 질문/답변
(글 수 45,052)
int size = this.locationList.size();
for(int i = 0; i < size; i++)
{
GeoPoint geoPoint = this.locationList.get(i);
projection.toPixels(geoPoint, this.point);
if(i == 0)
path.moveTo(this.point.x, this.point.y);
else
path.lineTo(this.point.x, this.point.y);
}
canvas.drawPath(path, paint);ItemizedOverlay를 상속 받은 클래스에서
라인을 그려주고 있습니다.
this.locationList.size() 의 사이즈는 최대 7000개 이상입니다.
사이즈가 너무 커서 그런지 맵을 이동할 때 느리다라는 느낌이 팍팍 듭니다.
처음에는 drawLine 메소드를 사용했는데
검색을 해보니 drawLine을 쓰지 말고 drawPath를 쓰라고 해서
바꾸기는 했는데 drawPath 메소드가 drawLine 보다 속도면에서는 조금 나은것 같기는 한데
배열의 사이즈가 커지면 똑같이 느리다라는 느낌이 많이 듭니다.
배열의 사이즈가 커져도 맵을 이동할때 자연스럽게 이동할 수 있는 방법이 있는지 궁금합니다.
답변 부탁드립니다.
늘 행복하세요..^^





그리드 뷰에 이미지 부르는 것과 비슷하다고 생각되는데요..
지도도 로딩타임이 짧지만은 않으니까 라인 그리는것을 비동기적으로 처리하는편이 어떨까요?
7000개 루프 태우는과정이 지도 로딩 중간에 끼니까 그런듯한데요....
스레드 혹은 AsyncTask로 for문 돌고... 다 끝나면 UI 스레드로 drawPath 하는식이 되는게 어떨까 싶네요....