2013-07-20 1 views
-1

내가 왜 그 이유를 무시하고 3-4와 함께 레이아웃을 유지하려고하면 Fragments (독립적 인 재사용 가능한 모듈, 각각은 정제 및 전화 등으로 변경할 수있는 자체 UI를 처리해야하는 이유) Fragments의 라이프 사이클이 3-4 ViewGroup 개의 레이아웃보다 더 비쌉니다.Fragments를 사용하는 것이 더 비싸지 않습니까?

Fragments은 뷰를 생성 할 때마다 (onAttach -> onCreate -> onCreateView ...) 전체 라이프 사이클이 있습니다. 이는 하나의 레이아웃을 가진 Activity보다 더 많은 시스템 리소스를 사용한다는 것을 의미합니다.

List (ListFragment가 1LinearLayouts 개가 아닌 항목)이있는 경우 최악의 경우에도 1ViewGroup 개가있는 항목이 1Fragments 인 항목이 훨씬 더 빠르지 않아야합니까?

+3

어떤 심각한 침체? 그렇지 않다면 화면 레이아웃이 136ms에서 129ms 사이인지 신경 쓰시겠습니까? – pskink

답변

1

오른쪽으로 조각이 약간 느려집니다.

그러나 이 더 빠릅니다. 용어는 상당히 상대적인 것입니다. 그리고 정확한 응용 프로그램에 따라 시간의 동일한 절대적인 차이가 다르게 간주 될 수 있습니다. premature optimization도 알고 있어야합니다.

간단한 측정을 준비했습니다 : RelativeLayouts과 4 TextView은 각각 단순한 레이아웃으로 추가되었으며 같은 레이아웃이 2 개의 조각으로 추가되었습니다 (모두 XML을 통해 완료 됨). ViewTreeObserver을 사용하여 상대 레이아웃이 완전히 그려진 시간을 측정했습니다. 테스트 한 경우 차이는 대부분 내 장치에서 < 10ms였습니다. 귀하의 사례에 대해 동일한 측정을 수행하고 유연성, 지원 용이성, 재사용, 코드 복잡성 등의 이점을 제공하기 때문에 단편을 제거 할 가치가 있는지 결정한 후에야 만 제안합니다.

+0

답변과 링크를 가져 주셔서 감사합니다. – test2558

관련 문제