2011-03-27 4 views
0

저는 UITableView를 기반으로 한 프로그램을 가지고 있습니다 (사용자는 셀 내용을 편집 할 수 있습니다). 오랜 시간 (주로 백그라운드에서) 열면 갑자기 목록 맨 아래로 완전히 스크롤 할 수 없게됩니다. 스크롤은 튀어 오르게 설정되어 있으므로 튀어 나와 마지막 몇 줄을 볼 수 있지만 다시 바로 아래로 튀어 나오고 다시 숨 깁니다.메모리 누수로 인해 UITableView 스크롤에 문제가 발생할 수 있습니까?

내비게이션 컨트롤러의 툴바를 사용하고 있기 때문에 툴바가 마지막 몇 가지 항목을 숨기는 것처럼 보이지만 어떤 일이 벌어지는 것은 아닙니다. (나는 마지막 항목 또는 두 가지가 어쨌든 화면에서 벗어날 것이라고 생각합니다.)

다시 말하지만 대부분의 시간은 스크롤하는 데 아무런 문제가 없습니다.

매우 드물게 발생하며 그 원인을 파악하는 데 매우 가까워졌습니다. 가로 모드로 회전 한 후에 발생하는 것처럼 보이지만 문제를 일으키지 않고 많은 회전이 발생할 수 있습니다. 배터리가 완전히 충전 된 후 문제가 발생했음을 알리기 위해 휴대 전화가 10 % 미만으로 충전 된 후에도 나타나지만 배터리 상태가 전혀 상관이 없습니다. .

프로그램이 며칠 동안 (주로 백그라운드에서) 실행되고 전화를 다시 시작하여 문제가 발생하기 때문에 메모리 누수가 의심되지만 메모리 경고 메시지가 나타나지 않고 프로그램이 정상적으로 실행됩니다 그렇지 않으면 스크롤이 올바르게 작동하지 않는 경우에도 마찬가지입니다.

나는 누수를 몇 번 실행했으며, 프로그램을 종료 할 때 한 번만 16 바이트 누수가 발견되었습니다.이 누출은 재현 할 수 없었습니다.

모든 의견에 깊이 감사드립니다.

답변

0

누출로 인해 이러한 문제가 발생하지 않습니다. UIViewAutoresizingFlexibleBottomMargin/UIViewAutoresizingFlexibleHeight 마스크를 사용하거나 수동으로 크기를 조정하면 테이블의 크기가 자동으로 조정되는 것처럼 들립니다.

+0

감사합니다. 수동으로 크기를 조정하지 않았습니다. 자동 크기 조정으로 인해 버그가 실제로 발생하는 시간은 어느 정도입니까? – ohDear

+0

당신은 그것이 잠시 후에 일어난다 고 말했다. 어쩌면 당신은 낮은 기억을 경고 받았고 당신의 견해가 해제되었을 것입니다. didReceiveMemoryWarning, viewDidUnload 및 viewDidLoad가 적절한 지 확인하십시오. 테이블과 뷰에서 자동 크기 조정 마스크를 nil로 설정해보십시오. – ssteinberg

관련 문제