2012-04-04 2 views
4

우선 테이블 뷰를 스크롤하는 동안 메모리 누수가 발생합니다. here과 동일한 문제입니다.iOS5 : UITableView 열악한 스크롤링 성능

또한 내 스크롤은 충분히 빠르지 만 스크롤하는 동안 '떨림'이라고합니다. 세포는 재사용이 가능합니다.

코드 :

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    Country *country=[[self.items objectAtIndex:[indexPath section]] objectAtIndex:[indexPath row]]; 
    CountryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    cell.imageView.image=[UIImage imageNamed:country.countryFlag]; 
    cell.countryName.text=country.countryName; 
    cell.currencyCode.text=country.code; 
    cell.currencyOriginalName.text=country.originalUnitName; 

    return cell; 
} 

앱 : 아이폰 OS 5, ARC, 스토리 보드.

이 tableView 동작의 실제 이유는 무엇이며 어떻게 수정해야합니까?

+0

CountryCell 펜촉의 셀 ID를 "셀"로 설정 했습니까? 펜촉을 registerNib : forCellReuseIdentifier :?와 함께 등록 했습니까? – JiaYow

+1

은 사용자 지정 높이 또는 알려진 성능 문제가있는 다른 대리자 메서드를 사용하는 셀입니까? –

+0

country.countryFlag 이미지의 크기는 어느 정도입니까? 그 이미지는 어디서 오는거야? – sosborn

답변

5

장치에서 스크롤이 불량하면 프로토 타입에서 하위보기가 올바르게 구성되지 않은 것일 수 있습니다. 위의 방법으로 비용이 많이 드는 것은 아닙니다.

코어 애니메이션 장치 사용 (장치 만 해당) - 스크롤 할 때 초당 프레임을 확인하십시오. 가능한 한 60fps만큼 가깝게하고 싶습니다.

"색상 혼합 레이어"를 켜십시오 - 투명하게 그려지는 것이 빨간색으로 강조 표시됩니다. 가능한 경우 모든 투명도를 셀에서 제거하고 모두 녹색으로 만들려고합니다. 프로토 타입 하위 뷰에서 배경색과 불투명 플래그를 올바르게 설정하는 문제 일 수 있습니다.

이미지의 크기가 이미지보기와 다른 경우 셀이 나타날 때마다 크기가 조정되므로 비용이 많이 드는 작업이기도합니다.

+0

시뮬레이터와 장치에서 성능이 떨어집니다. – NCFUSN

+1

더 세밀한 지점을 지정하려면 느린 이유가 분명하지 않습니다. 이 코드와 관련이없는 다른 일이 있습니다. – sosborn

+0

@jrturton Ok. 샌드 박스에 저장된 셀의 모든 이미지가 150x100이고 UIImageView가 자동으로 38x31로 크기를 조정하면 성능이 저하 될 수 있습니까? 솔직히 말하면 이미지가 너무 크다고 생각하지 않습니까? – NCFUSN

관련 문제