해제된 페이지 객체 그래프
대형 순차 작업은 각 페이지 후에 깨끗한 페이지 소유 객체 그래프를 버릴 수 있으며, 페이지를 다시 구체화하기에 충분한 소스 메타데이터를 유지합니다
해제 경계
ReleaseLoadedPageObjectGraph은 선택된 간접 페이지 루트와 그 아래 직접 소유한 중첩 객체를 해제합니다
순회는 간접 링크를 따르지 않으므로 공유 글꼴, 이미지, 리소스 사전, 페이지 트리 노드 및 기타 페이지 간 객체는 로드된 문서가 계속 소유합니다
페이지 전용 디스플레이 목록 및 래스터 항목은 동일한 경계에서 축출됩니다
안전성 및 유지
더티, 필수 쓰기, 활성 또는 그 외 다시 로드할 수 없는 페이지는 버려지는 대신 유지되고 보고됩니다
파일 기반 페이지 루트는 검증된 교차 참조 오프셋에서 다시 로드되고, 압축 루트는 인덱스된 객체 스트림 멤버 경로를 통해 다시 로드됩니다
독립적으로 재생 가능한 소스가 없는 스트림 로드 또는 암호화된 일반 루트는 상주 상태로 유지됩니다
순차 처리
for PageIndex := 0 to PDF.LoadedPageCount - 1 do
begin
ProcessLoadedPage(PDF, PageIndex);
PDF.ReleaseLoadedPageObjectGraph(PageIndex);
end;
100,000페이지 회귀 픽스처는 Win32에서 69.3 MiB로 최고치를 기록하고 정상 상태 증가를 보여주지 않으며, 해제된 페이지를 원래 객체 번호와 페이지 상자로 다시 구체화합니다
동시성
로드된 문서 그래프 액세스는 호출자 직렬화로 유지됩니다
다른 스레드가 동일한 문서 인스턴스를 렌더링, 검사 또는 변형하는 동안 페이지를 해제해서는 안 됩니다
추가 정보: ReleaseLoadedPageObjectGraph, GetLoadedPageObjectGraphReleaseStatistics, THPDFPageObjectGraphReleaseStatistics, 지연 페이지 트리 로딩, 바운딩된 객체 스트림 캐시