2016-06-24 2 views
0

동적으로 다른 셀을 사용하여 만든 테이블보기가 있습니다. 그러나 화면을 빠르게 스크롤 할 때나 화면에 많은 셀이있는 경우 "느린"것처럼 보입니다.자동 레이아웃 감소 성능

내 제안 중 하나는 너무 많은 시간을 자동 레이아웃 설정 때문에 발생하는 것입니다.

건물 제약 조건에 소비 한 시간에 대한 정보는 어떻게 얻을 수 있습니까?

+0

자동 레이아웃 때문일 것으로 생각됩니다. 어쩌면 당신은 주 스레드에서 너무 많은 작업을하고 있습니까? – Desdenova

+0

@Desdenova 글쎄, 아마도,하지만 자동 레이아웃을 먼저 확인하고 싶습니다.) –

+1

충분히 공정하게. 이것을 자동 레이아웃 디버깅에서 찾았습니다. https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/TypesofErrors.html#//apple_ref/doc/uid/TP40010853-CH17-SW1 – Desdenova

답변

1

빨리 posable 교류를 실행해야합니다 두 가지 방법이 있습니다 : 있는 tableView : heightForRowAtIndexPath : 있는 tableView : cellForRowAtIndexPath :이 방법의 주요 스레드에서 너무 많은 작업이 없는지 확인해야합니다 가.

AutoLayout은 지속적으로 선형 계산을 수행하기 때문에 실제로 많은 주요 작업을 수행합니다. 셀에 여러 개의보기가있는 경우 코드의 모든 프레임을 설정해보십시오.

1

계측기를 열고 시간 프로파일 러를 선택하십시오. 이제 응용 프로그램에서 위아래로 귀하의 tableView에서 스크롤하고, 귀하의 애플 리케이션이 어디에 시간을 보내고 있는지 확인할 수 있습니다. 앱을 프로필하는 방법에 대해 자세히 알아 보려면 this link on using instruments을 확인하십시오.

그러나 이것은 (이미지와 관련이 있거나 메인 스레드에서 메모리 집약적 인 작업을 수행 할 가능성이 가장 높은) 자동 레이아웃과 관련이 있습니다.

+0

Saemlans, 감사합니다. 관련 이미지가 없습니다. . –