pinkred's mobile program

pinkred mobile programer

Archive for 7월 2016

[Android] Layout을 구성시 xml, 코드 어떤것이 좋을까요?

leave a comment »

기본적으로 Layout 구성시에는 xml를 이용하여 대부분 구성하고 있습니다. 이는 유지 보수에 상당히 좋기(시안성) 때문에 이용하고 있습니다.

간혹 무거운 UI를 구성하는 경우 혹은 잦은 Layout이 수정되거나 변경되는 경우 혹은 inflate 가 빈번히 일어 나는 경우 UI가 느려서 최적화를 요구하는 경우가 있습니다.

이런 경우 가장 좋은 방식은 직접 코드로 작성하는 방식이 제일 빠릅니다. 코드가 얼마나 더 빨라질지는 테스트가 필요하기는 합니다.

실제 달력을 구성하는데 GridLayout을 이용하여 xml로 구성하는 방식과 직접 코드로 GridLayout에 날짜에 해당하는 View를 넣는 방식으로 구현해본결과 약 100ms의 차이가 있었습니다. 어떻게 보면 너무나 작아서 그냥 xml을 로딩하는 것이랑 다름 없다고 생각할 수가 있기도 합니다.

하지만 계속적으로 실시간으로 inflate를 해야하는 리스트 화면이고 재사용이 어려운 경우에는 코드로 작성하는 것이 리스트가 덜 버벅이지 않을까 생각됩니다.

대부분이 xml으로 사용하지만 정말 필요로 하는 경우에는 해보는 것도 나쁘지 않을것 같습니다.

마지막으로 layout 구성시에 Reducing Overdraw 해주는 것도 좋습니다.

Written by pinkredmobile

2016/07/20 at 5:45 pm