2010-04-16 2 views
2

Quartz 2D 및 CATiledLayer를 사용하여 PDF 문서의 페이지를 표시하는 페이징 된 UIScrollView를 스크롤하는 이상한 문제가 있습니다. 메모리 할당을 통해 페이지를 만들 때 몇 개의 초기 페이지로 올라가고 나서 이전 페이지에 대해 유지 된 메모리가 분명히 해제되므로 안정적으로 유지하는 것이 좋습니다. 페이지 x (특정 PDF 페이지 또는 특정 숫자가 아닌 그 자체 인)를 치면 메모리 사용량이 몇 megs에서 308 megs로 감소하고 앱이 다운됩니다.iPhone/iPad에서 메모리 문제 해결

제 궁금한 점은이 문제의 원인을 찾는 최선의 방법은 무엇입니까? 악기의 객체 할당 도구는 malloc으로 간단하게 메모리를 표시합니다. (큰 덩어리로).

+0

보조 메모로, 이것은 실제 iPad에서만 시뮬레이터에서 발생하지 않습니다. –

+0

결국 특정 페이지로 바뀌 었습니다. 시뮬레이터에서 충돌하지 않는다고 생각하면 이상하지 않습니다. –

+0

시뮬레이터에서 (실제적으로) 무제한 메모리와 여러 번 빠른 CPU가 있기 때문에 시뮬레이터에서 충돌하지 않습니다. – steipete

답변

0

이 오래된 질문이다하지만 난 이후 그것을 게시하지 왜 그렇게 문제를 알아 냈어요 ...

범인은 PDF 내부에 임베디드 (벡터) 아트 워크의 특정 종류이었다 밝혀졌습니다. 이것은 여러 다른 인쇄 PDF에서 발생합니다. CGPDF 외 다수는 그저 열매를 맺었다. 유일한 해결 방법은 해당 PDF 제작 도구로 아트 워크를 실제로 래스터 화하는 것이 었습니다.