2014-01-24 2 views
0

ViewHolder 클래스를 사용하면 누수가 방지되고 큰 힙이 유지 될 수 있습니까?ViewHolder 클래스 및 OOM 관리

class holder 
    { 
     WeakReference<ImageView> img; 

    } 

holder holdr = new holder(); 
holder.img = ... 

displayImage(holder.img); 

전역으로 선언하는 대신 매개 변수로 전달해야합니까?

답변

0

ViewHolder-Pattern은 각 목록 항목에 대해 동일한 구조의 View 요소를 반복적으로 표시하는 ListAdapter를 사용할 때 주로 성능 문제로 인해 개발되었습니다.

ListView를 스크롤하는 동안 코드가 findViewById()를 자주 호출하여 성능이 저하 될 수 있습니다. 어댑터가 재활용을 위해 팽창 된 뷰를 반환하는 경우에도 요소를 찾아보고 업데이트해야합니다. findViewById()를 반복적으로 사용하는 방법은 "view holder"디자인 패턴을 사용하는 것입니다.

또한 ViewHolder 수준의 정적

당신은 Googles Dev Page에 대한 자세한 내용을 읽을 수 있도록해야한다.

시청하시는 것도 좋습니다. this Google IO video