[안드로이드 공부]/UI

[안드로이드] layoutInflater 성능 올리기

코코모아 2016. 4. 26. 10:33

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

XML을 코드에서 가져와서 사용 할 경우, layoutInflater.inflate 방법을 사용한다.

하지만, 이 놈을 사용 하는 만큼 뷰를 계속 불러 온다.


10개의 뷰가 있는데 layoutInflater.inflate 코드가 실행 되면 getView를 통해 뷰를 하나씩 10번 불러 온다. 얼마나 낭비인가?

그럼 어떻게? 간단하다. 이 놈을 사용 하게  될 경우 view가 null인지를 체크 한 뒤 사용 하면 된다.


원래 getView에 convertView가 있는데 


    public View getView(View convertView, ViewGroup parent) {

        if (convertView == null) {

            convertView = onCreateView(parent);

        }

        onBindView(convertView);

        return convertView;

    }

    

같은 원리다. 

if(mView == null)

layoutInflater.inflate(....)


요렇게 하면 성능이 엄청 좋아 질 것이다.



모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.