[Android Studio] 차이점. 뭐가 달라? - invalidate(), invalidateViews(), notifyDataSetChanged()

|

안드로이드 공식 문서인 View Invalidate에 따르면, ListView.invalidate()는 해당 뷰가 onDraw(android.graphics.Canvas)가 호출되어 다시 그려지게 된다.

ListView.invalidateViews()는 AbsListView invalidateViews에 자세히 설명되어있다..
모든 뷰가 새로 다시 뿌려진다. 그런데 뿌려지는 게 자식 뷰들까지 되어 버려 불필요한 자원을 낭비할 수 있게 된다..

보통은 데이터가 바뀔 때, BaseAdapter인터페이스를 상속 받아서 notifyDataSetChanged()를 사용한다.



And