UIWebView 개체를 해제하려고하지만 메모리를 확보하지 못했습니다. 이유가 무엇입니까?UIWebView의 메모리를 확보 할 수 있습니까?
답변
아마도 캐시를 지워도 도움이 될까요? NSURLCache
클래스를 참조하십시오.
출시 한 것만으로 출시 될 수 있다는 의미는 아닙니다. 다른 용도로 사용되었을 수도 있습니다.
해제 후 보유 개수는 얼마입니까?
[myWebView release];
NSLog(@"%i", [myWebView retainCount]);
이 숫자가 0이 아니면, 다른 사람은 잘 유지되고 있으며 그들도 그것을 놓을 때까지 해제 할 수없는 (또는은 (는) 미래의 어떤 시점에서 사라질 수 있도록 오토 릴리즈 가능하도록 설정).
또 다른 가능성은 사용 된 메모리가 웹보기가 생성 될 때로드되는 일종의 공유 라이브러리에 있다는 것입니다. 아마도 언로드하는 방법을 제어 할 수 없을 것입니다. 당신을 유지하는보기에 자신을 추가 -
샘
PS 나는 당신이 또한 [myWebView removeFromSuperview];
을 한 적이 있으리라 믿고있어.
귀하의 제안에 감사드립니다 deanWombourne – RAGOpoR
@bbum http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ "Retaincount is useless" –
@bbum 동의 - 그냥 내가 그 질문에 대답했을 때 그걸 충분히 알았 으면 좋겠다. – deanWombourne
UIWebView를 해제 할 때 최대한 많은 메모리를 정리하는 데 도움이되는 트릭이 있습니다 (일부는 original post을 확인하십시오). 불행히도, 그들은 사용 된 메모리의 완전한 릴리스에 도달하지 못합니다. 일반적으로 나에게 더 잘 작동하는 것은 WebView를 릴리스하기 전에 WebView의 HTML 문서를 비우는 것입니다.
// Empty the HTML document. This hack free some additional memory
[webview stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML='';"];
하지만 웹 구성 요소 :(에서 사용하는 메모리의 전체 버전에 도달하지
또한, 너무의 Urlcache을 취소하는 당신의 희망, 당신은이 호출을 취소하려고 할 수있는 경우 :
당신이 쇼이합니다 (있는 UIWebView 내부에서 수행하는 사람 포함)하는 URLRequest의 응용 프로그램에서 사용하는 sharedURLCache을 취소합니다// remove all cached responses
[[NSURLCache sharedURLCache] removeAllCachedResponses];
. 귀하의 제안에 대한
- 1. 이와 같이 범위를 벗어나면 관련 메모리를 확보 할 수 있습니까?
- 2. 안전하게 화면에서 UIImageViews를 제거하여 메모리를 확보 할 수 있습니까?
- 3. WPF 재고를 확보 할 수 있습니까?
- 4. 다른 활동을 호출 한 후 활동을 마치면 메모리를 확보 할 수 있습니까?
- 5. JMX에서 Tomcat Manager와 같이 Free/Total/Max 메모리를 확보 할 수 있습니까?
- 6. mod_perl이 차지하는 메모리를 측정 할 수 있습니까?
- 7. 얼마나 많은 메모리를 할당 할 수 있습니까?
- 8. 어떻게 CSV 파일에 fopen을 사용을 확보 할 수 있습니까?
- 9. 숨겨진 장치의 소유권을 어떻게 확보 할 수 있습니까?
- 10. 어떻게 PHP로 공백에서 HTML 암호 태그를 확보 할 수 있습니까?
- 11. NyARToolkit을 사용하면 카메라와 마커 사이의 거리를 확보 할 수 있습니까?
- 12. 컴파일 된 iPhone 응용 프로그램에서 리소스를 추출 할 수 있습니까? 그렇다면 어떻게 확보 할 수 있습니까?
- 13. UIWebView의 웹 응용 프로그램이 기본 저장소에 액세스 할 수 있습니까
- 14. 메모리를 해제 한 후에도 메모리를 사용할 수 없습니다.
- 15. SQL Server 2005에서 할당되지 않은 공간을 확보 할 수 없다
- 16. 효율적인 방법으로 SQLite3에서 고유 한 행을 확보 할 수 있습니다.
- 17. Oracle 10 g - 테이블 스페이스의 공간을 확보 할 수 없습니다
- 18. Dreaded 객체 힙을위한 충분한 공간을 확보 할 수 없습니다.
- 19. Windows에게 특정 프로세스의 메모리를 스왑하지 않도록 할 수 있습니까?
- 20. GlobalPlatform 스마트 카드에 남아있는 영구 메모리를 쿼리 할 수 있습니까?
- 21. 리눅스에게 특정 프로세스의 메모리를 스왑하지 말라고 할 수 있습니까?
- 22. 호스트 프로세스간에 cuda GPU 장치 메모리를 공유 할 수 있습니까?
- 23. AllocHGlobal은 2GB의 메모리를 더 할당 할 수 있습니까?
- 24. NSNumberFormatter가 메모리를 누출 할 가능성이 있습니까?
- 25. 세션 ID 확보
- 26. UIWebView의 EXC_BAD_ACCESS
- 27. 커널에서 가상 메모리를 사용할 수 있습니까? Linux에서
- 28. WPF 비디오 메모리를 지울 수 있습니까?
- 29. 키보드에서 UIWebview의 키보드로 go를했을 때 어떻게 알 수 있습니까?
- 30. 오프셋 포인터를 사용하여 메모리를 비울 수 있습니까?
감사 디에 데 리크 – RAGOpoR
cound 캐시를 지우는 몇 가지 예가 있습니까? – RAGOpoR
[[NSURLCache sharedURLCache] removeAllCachedResponses]; – diederikh