일부 프로파일 링 프로파일 링을 수행하기 위해 안드로이드 쉘 툴 am을 사용하고 있습니다. 필자의 요점은 메소드 프로파일 링에 애플리케이션의 프로세스 ID가 필요하다는 것이다. 따라서 응용 프로그램 프로파일 링 전에 응용 프로그램을 시작해야 프로세스 ID를 얻을 수 있습니다. 그러나 프로파일 링을 시작하면 초기 코드 실행을 놓칠 수 있습니다. 즉, 일부 메소드 호출을 놓칠 수 있습니다. 그 해결 방법은 무엇입니까? 내 목표는 응용 프로그램이 시작된 이후 모든 메서드 호출을 기록하는 것입니다. 대신 명령 줄 도구의am 유틸리티로 안드로이드 메소드 프로파일 링에 메소드가 없습니다.
1
A
답변
1
추가 :
Debug.startMethodTracing();
코드에서 (http://developer.android.com/reference/android/os/Debug.html#startMethodTracing() 참조).
전체 응용 프로그램의 프로필을 작성하려면 Application.onCreate()에이 방법을 추가하는 것이 좋습니다.
소스 코드가 없으면 다른 방법 (DDMS, am profile)으로 살아야합니다. am start
또한 <INTENT>
로 활동을 시작하면 그래서 유용 할 수 있습니다
am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>]
[--R COUNT] [-S] <INTENT>
를 프로파일 링 할 수있는 옵션이 있습니다.
안녕하세요. 프로필 링 호출을 추가하기 위해 내 응용 프로그램에서 어떤 방법을 먼저 사용하는지 어떻게 알 수 있습니까? 또한 소스 코드없이 프로파일 링을 원하면 어떻게해야합니까? –
예 ddms 또는 am을 사용하고 싶지만 프로세스 ID가 필요합니까? 하지만 먼저 앱을 시작해야하므로 초기 메서드 호출을 잃을 수도 있습니다. 어떻게해야합니까? 어떤 생각? –
프로파일 링을 시작하는 옵션은 시작 입니다. 어플리케이션을 시작하지 않고 프로세스 ID를 얻으려면 어떻게해야합니까? 이미 응용 프로그램을 실행하고 의도와 함께 다시 시작하면 초기 코드가 다시 실행됩니까? 처음에는 응용 프로그램을 시작한 다음 프로파일 러를 시작한 다음 응용 프로그램을 의도와 함께 다시 시작한다는 의미입니까? –