2012-02-23 3 views
7

UIwebview가 dealloc-ed가되면 사용 된 메모리의 대부분이 완전히 재활용되지 않습니다. 일부 프로필을 수행 한 후, 나는 여전히 살아있는 메모리의 대부분을 찾을 수있는 글꼴 글리프 캐시 (중국어 웹 페이지를 열면 문제가 훨씬 더 심각합니다. 중국어는 문자가 많아 글꼴 모양이 더 많음).Font Glyph/UIWebView에서 메모리 누수가 발생했습니다.

캐시를 제어 할 수있는 방법이 있습니까? iOS 웹 브라우저에서 작업하고 있는데,이 문제는 2 주 동안 차단됩니다.

Attached는 간단한 repro 데모입니다. 1) "Allocation profile"메모리로 데모를 실행하십시오. 2) 주소 표시 줄에 http://www.163.com을 입력하고로드가 완료 될 때까지 기다리는 중입니다. 3) 계기 도구에서 소비 된 약 10M 메모리를 볼 수 있습니다. 4) 지우기 버튼을 클릭하십시오 (UIwebview가 시각적 트리에서 제거되어 재활용됩니다) 5) 9M 메모리가 계속 살아있을 수 있습니다.

현재 문제를 구분하기 위해 아래 코드로 NSURLCache를 사용할 수 없습니다. [NSURLCache sharedURLCache] setMemoryCapacity : 1]

+0

모바일 사파리가이 문제를 어떻게 처리하는지 조사하고 있습니다. otool을 사용하여 임포트 기호 테이블을 인쇄 할 수있는 방법이 있습니까? otool -ov이 응용 프로그램에 정의 된 모든 기호를 인쇄하지만이 응용 프로그램이 다른 동적 라이브러리에서 링크 된 기호를 알고 싶습니다. class-dump-z를 사용하여 모든 헤더 파일을 덤프하지만 유용한 정보는 얻지 못합니다. –

+0

실제 문제는 CoreGraphics의 draw_glyphs입니다. CGFontCreateGlyphBitmap 이후에는 비트 맵이 캐싱되고 캐시를 제어 할 수 없습니다. 그것은 유출 아니지만 iPad1에 내 응용 프로그램에 대한 문제가 정말 (텍스트가 많이) –

+1

혹시 이것에 대한 답변을 찾았습니까? 또한 UIWebView 글꼴 메모리 문제를 피하려고합니다. –

답변

0

우리 제작 응용 프로그램에서 비슷한 문제가 발생했습니다. 이 안정적으로 약 180 후 응용 프로그램 충돌

http://typecast.com/preview/google/Mr%20Bedfort/Sigmar%20One/Miss%20Fajardose 

을 : 나는 반복적으로 명확한 웹 뷰 (로드 "<HTML> </HTML >") 다음의 UIWebView에서 다음 URL을로드 버그의 감소를 생성 잔뜩. 이 문제에 대한 Apple의 버그 리포트를 문제 ID 15659596으로 제출했으며 응답을 기다리고 있습니다.

그러나 정확히 어떤 상황이 발생했는지 정확히 알 수는 없습니다. "같은 용어에 대한 우리의 응용 프로그램에서 야생에서

  • 구글 이미지 검색 문제를 관찰

    1. 같은 웹 컨텐츠 : 분명히, 그 URL을 위해 일하지만, 나는 또한과 동일한 절차를 테스트 한 고양이 "와"개 ".

    이 두 시나리오에서 문제가 나타나지 않습니다. 나는 장기적인 메모리 사용량 증가를 관찰하지 않았고 애플리케이션이 중단되지 않는다.

    나는 당신에게 답이 없지만 UIWebView에 문제가 있다는 것을 확인하고 Apple에보고했으며 웹 글꼴과 관련이있는 것으로 확인되었습니다.

  • 관련 문제