2013-04-10 2 views
0

my app "CellViz"에서 Android Maps API v2를 사용하고 있습니다. 이 앱의 한 특징은 사용자가 데이터를 수집하는 동안 셀 신호 범위를 나타내는 라인과 폴리곤을 실시간으로 모바일지도에 추가하는 것입니다.Android지도 API v2를 사용할 때 UI 스레드의 느려짐을 감지하는 방법

현재 내 줄에는 사용자 정의 매개 변수 (기본값 = 25m)가 있습니다.이 매개 변수는 새 줄과 다각형이 추가되기 전에 어느 정도의 거리가 있는지를 정의합니다. 당연히 많은 양의 선과 다각형이 다시 그려지는 경우 UI가 느려질 수 있습니다.

이 문제는지도상의 객체 수와 관련하여 하드웨어가 많이 의존한다는 것입니다. 따라서 저급 기기에서 실적이 좋은 거리 매개 변수에 대한 단일 기본 값을 선택하는 것은 힘든 일이지만지도에 합리적인 양의 정보를 표시하여 고급 기기에서 유용합니다.

"모바일 폴리곤 기록 표시"및 "모바일 라인 기록 표시"를 해제 할 수있는 설정이 있습니다.이 설정을 해제하면 느린 속도가 사라집니다. 따라서 속도 저하가 확실히 숫자로 인해 발생합니다. 맵에 그려지는 오브젝트의 수.

UI 스레드가 문제를 지니고있을 때 프로그래밍 방식으로 감지 할 수 있으므로 거리 매개 변수를 큰 값 (주로 향후 실행에 유용함)으로 자동 조정하거나 일부만 제거 할 수 있습니다. 또는 저가형 장치에서 문제가 될 때지도에서 이러한 모든 개체를 삭제할 수 있습니다.

맵에 그려지는 객체로 인해 UI 스레드에서 이러한 부조리를 프로그래밍 방식으로 감지하는 방법에 대한 아이디어가 있습니까?

답변

0

내가 생각할 수있는 한 가지 방법은 GC와 시간을 검색하기 위해 logcat을 구문 분석하는 것입니다.

1 초 안에 100ms 이상의 GC가 발생하면 충분히 느려지나요? 테스트가 나타나야합니다.

관련 문제