DDMS 프로파일 러가 원시 메소드 호출을 프로파일 링하지 않는다는 것을 알고 있으며, 원시 코드를 프로파일 링하는 데 다양한 메소드를 사용할 수 있다는 것을 알고 있습니다. 그러나 실제로 알고 자하는 것은 원시 코드와 Java 코드의 비율입니다.DDMS 프로파일 러에서 원시 코드는 어떻게 생겼습니까?
특히 DDMS 메소드 프로파일 링은 원시 메소드가 호출 될 때 무엇을합니까? 시간이 아직 기록 되나요, 그렇지 않은가요? 문제의 앱은 길고 차단 된 네이티브 호출을 가지고 있지만 시각적 추적 뷰어에서 (Java 코드에서 볼 수있는 견고한 블록과는 대조적으로) 118ms 만 사용하고 긴 "밑줄"로 표시됩니다. 네이티브 코드에 소요 된 시간이 프로파일의 함수의 전체 시간에 추가되지 않는다고 추측하는 것이 맞습니까?
특히 프로파일 러에 대한 링크를 이용해 주셔서 감사합니다. 매우 유익한. 그러나 DDMS가 분명히 오랜 시간이 걸릴 때만 몇 밀리 초 밖에 걸리지 않는 네이티브 함수 호출을 표시하는 이유는 훨씬 더 혼란 스럽습니다. Android 2.3.3에서 프로파일 링한다는 사실이 효과가 있습니까? –
예 - 프로파일 러가 Android 4.0까지 벽시계 기록을 시작하지 않았습니다. 그 전에는 스레드 당 누적 CPU 시간 만있었습니다. 따라서 네이티브 메소드가 2 초 동안 차단 된 후 100ms의 작업을 수행했다면 프로파일에는 100ms의 시간 만 표시됩니다. (이것이 두 번째 타임 스탬프가 추가 된 이유입니다.) – fadden