사용자가 앞으로 또는 뒤로 이동할 때마다 적어도 2 개의 하위보기가있는 UIView를 만드는 iPad 앱 (IOS 4.3 & 5.0)이 있습니다. 2 개의 하위 뷰는 UIWebView 객체입니다.UIWebView 메모리 누수
모든 관련 스 와이프에서 이전 UIWebView가 제거되고 올바르게 할당 해제되고 (removeFromSuperview, stopLoading 및 delegate가 nil로 설정 됨) 상위 UIView가 할당 해제됩니다. 부모 UIView와 두 자식 UIWebViews가 완전히 없어 졌음을 확인할 수 있습니다.
웹 뷰가 삭제 될 때 보유 수를 확인할 수 있으며 매번 실제로 제거 될 것으로 확신합니다. 그러나 내 메모리 할당은 ~ 200-350k마다 모든 스 와이프에서 계속 증가합니다. 악기에 누출이 없지만 메모리 사용량이 천천히 증가하는 것을 볼 수 있습니다. iPad 1에서 앱은 결국 (중간 사용으로 6-10 분 내에) 여러 개의 메모리 경고를 수신하고 종료됩니다. LowMemory 크래시 로그 ... 등이 생성됩니다.
우리는 stringByEvaluatingJavaScriptFromString과 loadRequest를 사용하여 Webview를 채 웁니다. webViews에 아무 것도 주입되거나로드되지 않은 경우에도 메모리 사용량이 올라갑니다.
아무도 이러한 종류의 UIWebViews 동작이 발생합니까? 이 문제를 성공적으로 처리 한 사람이 있습니까?
비록 의견, & 답변을 크게 부탁드립니다.
당신은 슈퍼 뷰에서 제거하고,로드를 중단하고, 위임자를 nil로 설정합니다. 그러나 해당 웹 뷰에 추가 보유 권한이 없습니까? 아마도 당신은'@property (nonatomic, retain)'을 고려하지 않았을까요? – Tim
안녕하세요,이 싸우는 행운이 있었나요? –
순환 참조. 내 의견 중 하나가 여전히 컨트롤러에 매달려있었습니다. 결국 고전적인 메모리 물건,하지만 힘든 거대한 코드베이스에서 다루는. – smaura777