THotPDF.BuildLoadedObjectDependencyGraph Método
Construye un grafo de dependencias determinista para el documento cargado actual y atribuye la memoria retenida estimada mediante el árbol de dominadores con raíz en el Catalog
Declaración
function BuildLoadedObjectDependencyGraph(
out Nodes: THPDFObjectDependencyNodeArray;
out Edges: THPDFObjectDependencyEdgeArray;
out AInfo: THPDFObjectDependencyGraphInfo;
MaxObjects: Integer = 250000;
MaxEdges: Integer = 2000000
): boolean;
Nodos
EstimatedShallowBytesincluye la instancia del objeto, los valores de propiedad directa, las claves de diccionario y listas, y los payloads de streams residentes en memoria, pero excluye los objetos indirectos referenciadosEstimatedRetainedBytessuma los bytes shallow de cada objeto alcanzable desde el Catalog dominado por este nodo, contando las dependencias compartidas una sola vezImmediateDominatorObjectNumbery su generación identifican al propietario obligatorio más cercano, o-1para el Catalog y los objetos inalcanzables- Los conteos entrantes y salientes preservan la multiplicidad de slots de referencia, mientras que
ReachableFromCatalogdistingue la estructura viva del documento de los objetos descolgados
Aristas y límites
Cada arista registra las identidades de los objetos origen y destino, el path de diccionario o arreglo del slot de referencia, y si el destino se resolvió exactamente por número de objeto y generación
El método rechaza conteos de objetos o aristas por encima de los límites elegidos por quien llama, contención de objetos directos con profundidad mayor a 256 niveles, ciclos mal formados de contención directa y análisis de dominadores que exceda 128 pasadas de convergencia
Los valores de memoria son estimaciones portables para atribución y comparación, no mediciones exactas del proceso según el allocator