각 셀에 상당히 큰 이미지를로드하는 uitableview가 있으며 셀 높이는 이미지의 크기에 따라 다릅니다. 스크롤 성능은 괜찮지 만 때때로 불안정 할 수 있습니다.
FieryRobot 블로그에서 찾은 다음 팁을 찾았습니다.
누구든지 uitableview 스크롤 성능을 개선하기위한 팁이 있습니까?
각 셀에 상당히 큰 이미지를로드하는 uitableview가 있으며 셀 높이는 이미지의 크기에 따라 다릅니다. 스크롤 성능은 괜찮지 만 때때로 불안정 할 수 있습니다.
FieryRobot 블로그에서 찾은 다음 팁을 찾았습니다.
누구든지 uitableview 스크롤 성능을 개선하기위한 팁이 있습니까?
답변:
UITableViewCell
의 drawRect:
경우 모든 비용으로 가능한 피하기 파단 (또는 표준 접근성 기능이 필요한 경우, 컨텐츠보기의drawRect:
)UITableViewCell
의 레이어를 불투명하게 만듭니다 (컨텐츠 뷰가있는 경우에도 동일 함).UITableView
예제 / 문서에서 권장하는 reusableCellIdentifier 기능을 사용하십시오.UIImage
s 로 미리 베이킹되지 않은 그라디언트 / 복잡한 그래픽 효과를 피하십시오.UITableViewCell
를 만드는 경우 Nib을 사용하지 말고 대신 코드로 작성하십시오. Nib 파일을로드하는 것보다 훨씬 빠릅니다.Tweetie의 개발자는 이에 대해 광범위하게 작성했으며 해당 앱에서 어떻게 수행되었는지를 보여주는 코드가 있습니다. 기본적으로 그는 테이블 셀당 하나의 사용자 정의보기를 옹호하고 수동으로 그립니다 (다른 옵션 중에서 Interface Builder를 사용하여 하위보기하는 대신).
또한 Apple은 TableViewSuite 자습서에서 TableView에 대한 자체 샘플 코드를 업데이트했습니다 (아마도 이에 대한 응답일까요?).
UITableView 스크롤링의 # 1 성능 킬러는 모든 셀 뷰 레이어에 그림자를 그리는 것이므로 스크롤 성능이 중요하다면 기본적으로 기본 스레드 속도가 느려지지 않는 한 그림자를 사용하지 마십시오.
받아 들여진 답변 중 그림자와 레이어에 대한 언급이 없기 때문에 이것을 말해야한다고 생각했습니다. : +)
UITableView
스크롤 성능 문제 는 다른 답변에서 이미 설명한 기술을 사용하여 해결할 수 있습니다. 그러나 여러 번 느린 성능은 본질적으로 오류가 있거나 반복적 인 것으로 인해 발생합니다.
UITableView
셀 을 재사용한다는 사실과 각 셀에 자체 이미지가 필요할 수 있다는 사실은 함께 솔루션 비트를 복잡하게 만듭니다. 일반적인 방법으로 해결되는 방법에서 처리해야 할 사항을 요약합니다.
[tableView reloaddata]
cellForRowAtIndexPath
에 배열의 올바른 데이터 모델 개체에서 데이터 (텍스트)를 설정하는 코드를 포함합니다.문제를 방지하려면 테이블보기 내 에서 이미지의 지연로드에 대한이 자습서를 참조하십시오 .