2011-01-30 8 views
0

나는지도 동작을 가지고 있습니다.지도를로드하고 특정 위치에 애니메이션을 적용하기 때문에 표시되기 전에 시간이 걸립니다.android activity "loaded event"

활동에 일종의 이벤트 로딩이 끝나면 해당 맵 초기화를 수행 할 수 있습니까?

감사

답변

1

질문을 올바르게 이해하면 문제가 발생하지 않으며 적절한 프로그래밍 문제입니다.

활동을 초기화하는 데 시간이 오래 걸리는 경우 백그라운드 스레드에서 초기화해야합니다 (Android는 사용하기 쉬운 AsyncTask을 제공). 초기화하는 동안 스플래시 화면, 진행률 표시 줄이있는 "로드 중 ..."메시지 또는 사용자의 경우 아마도 마지막으로 캐시 된 위치 일 수있는 임시 콘텐츠를 사용자에게 제시해야합니다.

활동 라이프 사이클 메소드 (onCreate, onResume 등)를 가능한 짧고 빠르 게 만들어 활동로드를보다 효율적으로 유지하고 UI 응답을 유지하십시오.

은 개발자 가이드

+0

Designing For Responsiveness 항목을 참조하지만 난 그것을 할 동안 UI 스레드가 여전히 바쁜 있도록지도를로드하는 것은, UI를 작업입니다. 액티비티가 로딩을 끝내고 화면에 표시되도록 한 다음지도를로드하기 만하면됩니다. –

+0

지도를로드하는 것이 UI 작업이 아닙니다. 로드 된 맵의 일부 (또는 전체)를 표시하는 것은 UI 조작입니다. 예를 들어 네트워크에서지도 타일을로드하고 (백그라운드 작업) 타일을로드 할 때마다 화면에 표시 할 수 있습니다 (UI 작업) – Lior

1

This는로드 시간을 위해 할 수있는 트릭에 관한 좋은 블로그 게시물입니다 사실은 Google지도 응용 프로그램이 G1에서 사용하는 동일한 트릭입니다.

관련 문제