解放されたページオブジェクトグラフ
大規模な順次ジョブは、各ページの後にクリーンなページ所有オブジェクトグラフを破棄しながら、そのページを必要に応じて再度具体化するのに十分なソースメタデータを保持できます
解放境界
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、遅延ページツリーローディング、境界付きオブジェクトストリームキャッシュ