두 가지 (1)이 경우 성능을 측정하는 데 RAM 사용이 올바른 방법이라고 생각하지 않습니다. XML은 꽤 가볍습니다. 복잡한 XML 레이아웃이라도 XML만으로 많은 양의 이미지를 만들 수는 없습니다. 오히려 레이아웃의 구성 요소 (예 : 비트 맵, 메모리를 사용하는 것입니다.
(2) 레이아웃 유형이 레이아웃의 복잡성만큼이나 중요하다는 것을 나는 모른다.
이 뷰를 지원하는 설명서가 없지만 시스템에서 XML을 구문 분석하는 방법에 대해 논리적으로 생각하고 있습니다. RelativeLayout
또는 LinearLayout
은 모두 거의 동일해야합니다. 그러나 일단 LinearLayouts
에서 자주 발생하는 레이아웃 요소 중첩을 시작하면 상황이 다를 수 있습니다. 시스템에서 진행되고있는 작업을 이해하기 위해 XML을 구문 분석해야하므로 추가하는 구문 분석의 각 계층은 성능을 저하시키는 것처럼 보입니다. 예를 들어, 각 "행"을 처리하기 위해 몇 가지 하위 레이아웃이있는 세로 방향으로 설정된 LinearLayout
은 요소를 서로 나란히 배치하는 하나의 RelativeLayout
보다 렌더링에 더 오래 걸립니다.
대부분의 경우 나는 큰 차이를 느낄 것이라고 생각하지 않습니다. 예를 들어 한 번의 작업으로 복잡한 레이아웃을 한 번 렌더링하는 것은 그리 어렵지 않습니다. 그러나 XML 구조를 재사용 할 때조차도 화면을 채우는 데 필요한만큼 여러 번 구문 분석해야하는 목록 또는 격자보기에 대해 생각해보십시오. 그것이 당신이 일을 늦추기 시작할 것입니다.
희망이 있습니다.
설명해 주셔서 감사합니다. 나는 일부 게임에 대한 플레이어 통계를 표시하는 응용 프로그램을 만들고 있는데, "슬라이드 아웃 메뉴"에서 최대한 많은 정보를 숨기려고 노력하고 있지만 "일반 통계"레이아웃은 데이터 량이 최소 30 개 이상이어야합니다. 꽤 큽니다. RelativeLayouts를 사용하여이 TextViews를 그룹화하고 모든 것을 더 멋지게 보이게 만들었지 만 메모리가 너무 많아서 걱정이됩니다. View 객체 – Droidman
TextViews는 매우 간단합니다. 당신이 정말 고해상도의 배경 이미지를 사용하지 않는다면 저는 그렇게 걱정하지 않을 것입니다. 어쨌든 stat 보드가 파괴되면 모든 것이 가비지 수집됩니다 (메모리가 누출되지 않는 한). 어떤 경우라도 시도 할 때까지 알 수 없습니다. 그것을 빌드하고 힙 크기를 관찰하십시오. – Rarw
글쎄, 나는 정말로이 메시지가 마음에 들지 않는다. 07-26 21 : 13 : 55.528 : I/dalvikvm-heap (3884) : 8294416 바이트 할당을 위해 19.637MB로 힙 (frag 케이스)을 늘린다. 나는 많지 않지만 중첩 된 레이아웃 – Droidman