2011-12-01 3 views
3

첫 번째 Android 앱을 개발 중입니다. 나는 사용자 정의 레이아웃으로 목록을 채우기 위해 SimpleCursorAdapter()을 사용하는 ListActivity을 가지고있다. 행 수가 매우 커지면 목록을로드하는 효율적인 방법은 무엇입니까?많은 행을 가진 ListActivity에서 SimpleCursorAdapter 사용

Android에 익숙하지 않아서 무엇이 뒤에서 일어나고 있는지 잘 모르겠습니다. 내 결과 집합이 500 행을 반환한다고 가정하십시오. ListActivity은 보이는 영역에있는 렌더링 만 수행 할 것인가, 아니면 모두 500을 렌더링하려고합니까?

ListView.OnScrollListener 대신 한 번에 25 행만로드해야합니까? 아직 비틀 거리지 않은 내장 페이지 매김 메커니즘이 있습니까?

답변

2

시스템이 필요한 최적화를 수행하므로 데이터 세트의 크기면에서 효율성에 대해 걱정하지 마십시오. 대신 커서를로드하는 것이 더 편리 할 수 ​​있습니다. 을 CursorLoader과 함께 사용하고 있는지 확인하십시오. SimpleCursorAdapter 생성자를 사용하는 것이 더 이상 사용되지 않으므로 커서 쿼리가 UI 스레드에서 실행됩니다 (this 참조).).

+0

음, 마침내 CursorLoader 기반의 사용자 정의 로더로 작업하는 ListFragment가 SQLite DB에 충돌했습니다. 당신의 도움을 주셔서 감사합니다. 그것은 내 머리를 감싸는 데 약간의 시간이 걸렸다. –

0
에게 안드로이드 만들고는 적합한으로 ListView에 각각의보기를 파괴 할 것이다

, 당신은 필요가 없습니다 이 튜토리얼을 확인, ListView에 행을 재사용 할 뷰 홀더 패턴을 사용해야 할 것 같아요 걱정할 필요가 없습니다. Chunhui와 마찬가지로 ViewHolder 패턴은 느린 경우 ListView의 프레임 속도를 향상시키는 데에도 도움이됩니다.

관련 문제