본문 바로가기

구글과인터넷/안드로이드

안드로이드 리스트(또는 그룹리스트) 리스트 Add시 out of memory, 메모리릭 등 문제 관련

리스트 또는 그룹리스트 리스트들을 추가할때 

public View getView(int position, View convertView, ViewGroup parent)

public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
                    ViewGroup parent)

public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
                View convertView, ViewGroup parent)


*여기부분에 new 로 생성해 주는 부분 항상 생각해주어야 한다. 어떻게 개선할지 항상 생각하자

            int res = 0;
            res = R.layout.gamesview_cell;
            convertView = mInflater.inflate(res, parent, false);
           

여기에서 convertView 부분은 계속 레이아웃을 생성해주어서 위험한 방법이다.

       if(convertView == null)
                convertView = mInflater.inflate(res, parent, false);

이런식으로 바꾸어주는 것을 잊지말자 

          int res = 0;
          res = R.layout.gamesview_cell;

           if(convertView == null)
                convertView = mInflater.inflate(res, parent, false);