2016-11-09 2 views
0

이 특정 질문에 대한 답변을 찾으려고했지만 시도 할 수 없었습니다. 비디오 https://www.youtube.com/watch?v=NYtB6mlu7vA을 보았습니다. 레이아웃을 사용하는 것이 일반적으로 비싸다는 인상을 받았습니다. 트위터와 같은 앱이 많은 중첩 된 그룹보기얼마나 많은 ViewGroup (LinearLayout, Relative, Grid 등)이 너무 많은 것으로 간주됩니까?

나는이이리스트 뷰 내부 행이 있습니다, 그들은 재활용,하지만 내 질문은 실현

Dumped View Hierarchy

로 구성되어 복잡한 설계를 사용, 이것은 일반적으로 나쁜 관행으로 간주됩니다 ?

비디오에서는 linearlayout이 요소를 그릴 수있는 계산을 수행하고 여러 선형 배치를 중첩 할 때 악화되는 것을 설명했습니다. 린트 검사에 따르면

+0

구체적인 값은 없습니다. 스택 공간이 부족할 때. 메인 애플리케이션 스레드는 마지막으로 들었던 8KB 스택을 가지고 있습니다. –

답변

0

:

레이아웃 너무 많은 인원 80

최대 조회수 기본값

이 있지만 환경 변수 ANDROID_LINT_MAX_VIEW_COUNT로 구성 될 수있다.

레이아웃 계층을 너무 많이 중첩와

레이아웃을 너무 깊이 성능을 좋지 않습니다. 평평한 레이아웃 (예 : RelativeLayout 또는 GridLayout)을 사용해보십시오. 기본 최대 깊이는 10이지만 을 환경 변수 ANDROID_LINT_MAX_DEPTH와 (과) 함께 구성 할 수 있습니다. 내 경험에 의하면

:

내가 미만 12 중첩 된 뷰를하도록하는 것이 좋습니다 9+ 앱이 API를 지원합니다. 일반적으로 이러한 장치는 메모리에 제한이 있습니다. OutOfMemoryException 또는 StackOverflowException을 얻을 수 있습니다. StackOverflow는 "Composite"패턴이 재귀 적으로 계층 구조를 통과 할 때 발생합니다.