THotPDF.BuildLoadedObjectDependencyGraph Method
Costruisce un grafo di dipendenze deterministico per il documento caricato corrente e attribuisce la memoria trattenuta stimata attraverso l'albero dei dominatori radicato nel Catalog
Dichiarazione
function BuildLoadedObjectDependencyGraph(
out Nodes: THPDFObjectDependencyNodeArray;
out Edges: THPDFObjectDependencyEdgeArray;
out AInfo: THPDFObjectDependencyGraphInfo;
MaxObjects: Integer = 250000;
MaxEdges: Integer = 2000000
): boolean;
Nodi
EstimatedShallowBytesinclude l'istanza dell'oggetto, i valori di proprietà diretta, le chiavi e le liste dei dizionari e i payload degli stream residenti in memoria, ma esclude gli oggetti indiretti referenziatiEstimatedRetainedBytessomma i byte shallow di ogni oggetto raggiungibile dal Catalog dominato da questo nodo, contando le dipendenze condivise una sola voltaImmediateDominatorObjectNumbere la sua generazione identificano il proprietario obbligatorio più vicino, oppure-1per il Catalog e gli oggetti non raggiungibili- I conteggi in entrata e in uscita preservano la molteplicità degli slot di riferimento, mentre
ReachableFromCatalogdistingue la struttura viva del documento dagli oggetti scollegati
Archi e limiti
Ogni arco registra le identità degli oggetti sorgente e destinazione, il path del dizionario o array dello slot di riferimento e se la destinazione è stata risolta esattamente per numero di oggetto e generazione
Il metodo rifiuta conteggi di oggetti o archi oltre i limiti scelti dal chiamante, contenimento diretto di oggetti oltre 256 livelli, cicli di contenimento diretto malformati e analisi dei dominatori che supera 128 passate di convergenza
I valori di memoria sono stime portabili per attribuzione e confronto, non misure di processo esatte per l'allocator