본문 바로가기

카테고리 없음

layoutInflater 성능 올리기

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(....)

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


출처: http://comostudio.tistory.com/170 [코모스튜디오]