THotPDF.BuildLoadedObjectDependencyGraph Method
Constrói um grafo de dependência determinístico para o documento carregado atual e atribui a memória retida estimada por meio da árvore de dominadores com raiz no Catalog
Declaração
function BuildLoadedObjectDependencyGraph(
out Nodes: THPDFObjectDependencyNodeArray;
out Edges: THPDFObjectDependencyEdgeArray;
out AInfo: THPDFObjectDependencyGraphInfo;
MaxObjects: Integer = 250000;
MaxEdges: Integer = 2000000
): boolean;
Nós
EstimatedShallowBytesinclui a instância do objeto, os valores de propriedade direta, as chaves e listas de dicionário e os conteúdos de fluxo residentes em memória, mas exclui objetos indiretos referenciadosEstimatedRetainedBytesadiciona os bytes superficiais de cada objeto alcançável pelo Catalog dominado por este nó, contando dependências compartilhadas apenas uma vezImmediateDominatorObjectNumbere sua geração identificam o proprietário obrigatório mais próximo, ou-1para o Catalog e objetos inalcançáveis- As contagens de entrada e saída preservam a multiplicidade dos slots de referência, enquanto
ReachableFromCatalogdistingue a estrutura viva do documento dos objetos destacados
Arestas e limites
Cada aresta registra as identidades dos objetos de origem e destino, o caminho de dicionário ou matriz do slot de referência e se o destino foi resolvido exatamente por número e geração de objeto
O método rejeita contagens de objetos ou arestas acima dos limites selecionados pelo chamador, contenção direta de objetos com profundidade superior a 256 níveis, ciclos malformados de contenção direta e análise de dominadores que exceda 128 passagens de convergência
Os valores de memória são estimativas portáveis para atribuição e comparação, em vez de medições de processo exatas do alocador