팁: 파일 > 기본 설정에서 여러 DDMS 기본 설정을 설정할 수 있습니다. 환경 설정은 $HOME/.android/ddms.cfg에 저장됩니다. 에뮬레이터 컨트롤 탭의 전화 통신 작업 섹션을 사용하면 통화 및 메시지를 스푸치할 수 있습니다. 이 기능은 전화로 전송되는 수신 전화 및 메시지에 응답할 때 응용 프로그램의 견고성을 테스트하려는 경우에 유용합니다. 다음 작업을 사용할 수 있습니다: 후자에 대 한 사소한 예는 GPS 응용 프로그램. 우리 중 대부분은 이러한 앱을 개발하지 않지만 (아아, 시장은 충분히 크지 않습니다 …) 그러나 여전히, 많은 경우에, 우리는 사용자의 현재 위치, 경로 추적 또는 위치 감지 데이터 디스플레이의 간단한지도보기인지 여부에 관계없이 위치에 따라 달라지는 논리를 배포합니다. 전송 스파이크의 원인을 더 잘 식별하기 위해 TrafficStats API를 사용하면 setThreadStatsTag()를 사용하여 스레드 내에서 발생하는 데이터 전송에 태그를 지정한 다음 태그 소켓() 및 태그 해제소켓()을 사용하여 개별 소켓에 수동으로 태그를 지정하고 태그를 해제할 수 있습니다. 예를 들어 안드로이드 개발에서 DDMS는 얼마나 중요합니까? 글쎄, 내가 DDMS 및 모바일 앱 모니터링에 대해 지금 알고있는 것을 아는 것은 5-6 년 전, 경험이 적은 안드로이드 개발자로서 나에게 많은 골칫거리와 디버깅의 밤을 저장했을 것입니다. 네트워크 중심 앱에서 수행해야 하는 네트워크 연결이 낮은 경우앱을 테스트하려면 전화 통신 상태 섹션으로 이동하여 속도 및 대기 시간 값을 원하는 값으로 설정합니다. 나는 일반적으로 낮은 연결을 모방하기위한 효과적인 방법으로 둘 다에 대한 GPRS 값으로 이동하지만, 자신의 값을 설정 주시기 바랍니다. 메모리 누수가 감지되면 다음 에 사용할 도구는 개체 할당 추적기입니다. 안드로이드에서 메모리 관리를 위해 무엇을 할 수 있는지 보자. 새로운 장소를 조롱할 때 상황이 더 흥미로워집니다.

DDMS는 장치의 각 VM에 디버깅 포트를 할당합니다. 일반적으로 DDMS는 첫 번째 디버깅 가능한 VM에 대한 포트 8600을 할당하고 다음 8601등은 포트8600을 할당합니다. 디버거가 이러한 포트 중 하나에 연결되면 모든 트래픽이 연결된 VM에서 디버거로 전달됩니다. 단일 디버거만 단일 포트에 연결할 수 있지만 DDMS는 연결된 여러 디버거를 처리할 수 있습니다. 개발은 까다로운 사업입니다. 대상은 계속 움직이고, 새로운 기술과 도메인이 주기적으로 생겨나고, 새로운 도구가 가끔씩 튀어 나오고, 언어가 혼란으로 관리되는 것으로 보입니다. 실제 DDMS 사용의 예: 앱이 중지됩니다(충돌이 아니라 중지). 사용자는 즉시 근처 워크스테이션으로 돌진하고, USB에 연결하고, 스레드 보기에서 DDMS를 열어 스레드 스택»에 실패한 스레드»스택 추적을 찾습니다. 앱 레이아웃의 렌더링 속도를 프로파일링하려면 이 블로그 게시물에 설명된 대로 Window.OnFrameMetricsAvailableListener를 사용합니다.