2017-10-09 1 views
2

내가 메모리의 다양한 종류의 소비를 볼 수 있습니다 안드로이드 스튜디오에서어떻게, 내가 안드로이드 Studio에서 응용 프로그램의 메모리를 프로파일 링 할 때 3.0

enter image description here

을 기본 그래픽 메모리 할당을 볼 수 있지만 나는 자바 힙 덤프 때 (가운데 버튼), I 버튼의 이름에서 예상

enter image description here

, 힙의 할당을 얻는다. 하지만 여전히 할당 된 char 배열과 문자열을 볼 수 있습니다.하지만 최근 버전에서 알 수 있듯이 String의 char 배열은 기본 힙으로 이동하고 String 클래스는 고유 메서드를 통해서만 액세스 할 수 있으므로이 힙 덤프가 네이티브 힙. 내가 맞습니까? 그래픽 힙은 어떻습니까?

+0

@Zoe? 실제로 AS 팀의 누군가가 설명을 해줄 것을 기대했습니다 – LackOfKnowledge

+0

이 질문은 실제로 Android Studio에 포함 된 도구에 대해 매우 구체적입니다. 유해하거나 사소한 편집을 시도하지 마십시오. @zoe –

답변

1

어쨌든 권위있는 소스는 아니지만, 저와 다른 사람들은 자바 메모리 사용을 설명하려고 시도했습니다 here. 내가 아는 한 (ART 또는 Davlik과 함께 작업하는 사람은 훨씬 더 확실한 답을 줄 수 있습니다.) 전체 응용 프로그램에 사용할 수있는 단일 힙이 있으며 특정 그래픽 힙은 없습니다.

아마도 Android Studio에서 그래픽 작업으로 소비되는 힙의 양을 보여줄 것입니다. Stack (녹색) 메모리 세그먼트가 현재 호출 스택이 소비하는 것을 보여주는 것과 비슷합니다.

enter image description here

: 당신이 드롭 다운 메뉴에서 응용 프로그램 힙을 선택하는 것을 기억해야한다이보기를 사용하는 경우

enter image description here

: 당신은 세그먼트를 강조하여이 코드에 반영하는 방법을 볼 수 있습니다

네이티브 & Java 세그먼트는 SDK/Java 프레임 워크를 통해 직접 할당 된 메모리 양과 기본 구조를 얼마나 많이 차지하는지를 보여줍니다. (그들은 앱 내에 서로 다른 메모리 영역을 표시하지 않습니다, 그것은 혼란을 보일 수있다 - 끝의 링크를 참조)

enter image description here

Developer Documentation에 정확히 프로파일 러가 당신을 보여주는 가장 좋은 개요 또한 System Image와 Zygote의 힙이 당신에게 무엇인지를 설명합니다.

1

'그래픽'메모리에 익숙한 사람이 있습니까? 왜 단순한 어플리케이션에서 많은 메모리를 소비하는지.

간단한 응용 프로그램을 만들었고 HomeActivity에는 하나의 RecyclerView 만 있지만 'Graphics'메모리는 약 60MB가 필요합니다! 여기

enter image description here

는 HomeActivity의 스크린 샷이다. 당신이 안드로이드 스튜디오 태그를 제거하는 이유

enter image description here

관련 문제