Zwolnione grafy obiektów stron
Duże zadania sekwencyjne mogą wyrzucać czyste grafy obiektów należące do stron po każdej stronie, zachowując dość metadanych źródła, żeby zmaterializować stronę ponownie na żądanie
Granica zwalniania
ReleaseLoadedPageObjectGraph zwalnia wybrany pośredni korzeń strony i bezpośrednio posiadane zagnieżdżone obiekty pod nim
Przejście nie podąża za linkami pośrednimi, więc współdzielone fonty, obrazy, słowniki zasobów, węzły drzewa stron i inne obiekty międzystronicowe pozostają własnością załadowanego dokumentu
Wpisy display listy i rastra specyficzne dla strony są usuwane na tej samej granicy
Bezpieczeństwo i retencja
Strony dirty, must-write, aktywne lub w inny sposób nieprzeładowywalne są zachowywane i raportowane zamiast być wyrzucanymi
Bezpośrednie korzenie stron wsparte plikiem przeładowują się ze swojego zwalidowanego offsetu referencji krzyżowych, a korzenie skompresowane przez indeksowaną ścieżkę członka strumienia obiektów
Zwykłe korzenie ładowane ze strumienia lub szyfrowane, bez źródła nadającego się do niezależnego odtworzenia, pozostają rezydentne
Przetwarzanie sekwencyjne
for PageIndex := 0 to PDF.LoadedPageCount - 1 do
begin
ProcessLoadedPage(PDF, PageIndex);
PDF.ReleaseLoadedPageObjectGraph(PageIndex);
end;
Fixture regresji 100 000 stron szczytuje na 69,3 MiB na Win32, nie pokazuje wzrostu w stanie ustalonym, a potem ponownie materializuje zwolnioną stronę z jej oryginalnym numerem obiektu i ramkami stron
Współbieżność
Dostęp do grafu załadowanego dokumentu pozostaje uszeregowany przez wywołującego
Nie zwalniaj strony, gdy inny wątek renderuje, podgląda lub mutuje tę samą instancję dokumentu
Zobacz też: ReleaseLoadedPageObjectGraph, GetLoadedPageObjectGraphReleaseStatistics, THPDFPageObjectGraphReleaseStatistics, Leniwe ładowanie drzewa stron, Ograniczona pamięć podręczna strumieni obiektów