Visão geral
WeakMap é um pacote Dart que implementa um mapa com chaves referenciadas fracamente, permitindo a coleta de lixo dos objetos-chave quando não existirem outras referências. Ele permite uma gestão eficiente da memória, evitando vazamentos. WeakContainer fornece verificações de identidade para objetos, garantindo que sejam a mesma instância anterior. O pacote suporta memoização por meio de funções de cache usando referências fracas, ideal para armazenamento temporário de dados. Projetado para desempenho e segurança em aplicações de longa execução.
Casos de uso
- Memorização com limpeza automática
- Rastrear identidade de objeto sem vazamentos
- Armazenando em cache resultados vinculados a objetos transitórios
- Evitando vazamentos de memória em callbacks
- Armazenando metadados por instância
- Gerenciamento de estado temporário
Principais recursos
- chaves fracamente referenciadas
- Entradas coletáveis por lixo
- Verificação de objeto baseada em identidade
- Utilitários de memoização embutidos
- Suporte multiplataforma
- Leve e rápido
Indicado para
- Aplicativos de longa duração com criação frequente de objetos
- aplicações sensíveis à memória
- Plugins que exigem dados específicos de instância
- Desenvolvedores evitando ciclos de referência fortes
- Casos de uso que exigem armazenamento de dados efêmeros
- Cache de alto desempenho
Considerações
- As chaves podem ser coletadas inesperadamente
- Não adequado para dados persistentes
- Nenhuma iteração direta ou acesso ao tamanho
- Limitado ao armazenamento com chave de objeto
- Requer manipulação cuidadosa em contextos assíncronos
- Melhor usado com objetos transitórios ou de curta duração