2010-05-06 6 views
0

현재 애플리케이션 뷰의 크기가 약 50 페이지 인 콘텐츠 크기를 가진 UIScrollView가 있습니다.
페이징을 사용하여 스크롤링을 구현했으며 현재, 이전 및 다음 페이지를 메모리에 유지하며, 나머지는 필요할 때 생성됩니다. 한 사람이 앞으로 스 와이프하면 이전 '이전'보기가 해제되고 새로운 '다음'보기가로드됩니다.스 와이프 같은 페이지에 대한 적절한 컨트롤

'scrollViewDidEndDeaccelerate'를 호출하면 새 페이지가로드되고 이전 버전이 릴리스됩니다.

물론 단점은 새로운 페이지 스 와이프가 시작되기 전에 페이지가 완전히 안정되어야한다는 것입니다.

다른 유형의 컨트롤을 사용하면 더 효율적인 방법이 있습니까? UITableView?

다른 유형의 컨트롤을 사용하는 솔루션을 찾고 있습니다. 예를 들어 UIScrollView가 아닌 ​​구현을 찾고 있습니다. 자리 표시 자 이미지 및 고해상도로드.

답변

0

예언 캐싱은 제가 제공 할 수있는 유일한 아이디어입니다. 바로 당신이하는 일입니다. 사용 가능한 메모리를 확인하고 그 중 일정 비율로 로딩하면 메모리 부족 경고를 모니터링하고 현재보기 위치에서 가장 멀리있는 항목을 덤프 할 수 있습니다.

+0

여분의 메모리를 사용합니까? 콘텐츠가 실제로 배치되지 않아도 UIScrollView의 contentSize가 크기 때문에 사실입니까? –

+0

내용보기의 크기가 반드시 더 큰 메모리 크기를 의미하지는 않습니다. 이 값은 (레이아웃 구현에 대해 모른 채) 레이아웃에 사용되며 단지 값입니다. 자신에게 증명하기 위해, 그것을 웃기는 가치 (321,473,320 <- 그건 정말 우스꽝 스럽습니다!)로 설정 한 다음 좋아하는 방법을 사용하여 메모리 사용량을 확인하십시오. – gnasher

관련 문제