THotPDF.BuildLoadedObjectDependencyGraph Method
Buduje deterministyczny graf zależności dla bieżącego wczytanego dokumentu i przypisuje szacowaną pamięć retained przez drzewo dominatorów zakorzenione w Catalog
Deklaracja
function BuildLoadedObjectDependencyGraph(
out Nodes: THPDFObjectDependencyNodeArray;
out Edges: THPDFObjectDependencyEdgeArray;
out AInfo: THPDFObjectDependencyGraphInfo;
MaxObjects: Integer = 250000;
MaxEdges: Integer = 2000000
): boolean;
Węzły
EstimatedShallowBytesobejmuje instancję obiektu, bezpośrednio posiadane wartości, klucze i listy słowników oraz rezydentne payload streamów w pamięci, ale nie obejmuje referencjonowanych obiektów indirectEstimatedRetainedBytesdodaje bajty shallow każdego obiektu osiągalnego z Catalog zdominowanego przez ten węzeł, licząc współdzielone zależności tylko razImmediateDominatorObjectNumberi jego generacja identyfikują najbliższego obowiązkowego właściciela;-1oznacza Catalog i obiekty nieosiągalne- Liczby przychodzące i wychodzące zachowują wielokrotność slotów referencji, a
ReachableFromCatalogodróżnia żywą strukturę dokumentu od odłączonych obiektów
Krawędzie i limity
Każda krawędź rejestruje tożsamości obiektu źródłowego i docelowego, ścieżkę slotu referencji w słowniku lub tablicy oraz to, czy cel został rozwiązany dokładnie po numerze obiektu i generacji
Metoda odrzuca liczby obiektów lub krawędzi powyżej limitów wybranych przez wywołującego, zagnieżdżenie obiektów direct głębsze niż 256 poziomów, uszkodzone cykle bezpośredniego zawierania oraz analizę dominatorów wymagającą więcej niż 128 przebiegów zbieżności
Wartości pamięci to przenośne szacunki służące do atrybucji i porównań, a nie dokładne pomiary procesu na poziomie alokatora