Dispositivo de memória Management in the .NET Compact estrutura

Uma importante força do .NET Compact Framework é o uso eficiente de recursos, especialmente RAM volátil. Não são necessários dispositivos terem hardware de unidades de gerenciamento de memória (MMU) ou memória virtual de sistema operacional.

Tamanho de armazenamento Framework Compact .NET

O .NET Compact Framework versão 3.5, consulte a seção descrevendo o arquivo CAB instalação. .NET Compact Framework versão 3.5 ainda não está disponível na ROM.

O .NET Compact Framework versão 2,0, o dimensionar de armazenamento é sistema autônomo segue: 

  • 5.5 MB (ROM), sem compactação, no Windows Mobile 5.0.
Observação:

Armazenamento persistente não está compactado começando com o Windows Mobile 5.0.

O .NET Compact Framework versão 1,0, o dimensionar de armazenamento é sistema autônomo segue: 

  • 1.55 MB (ROM), compactado, Pocket PC 2000 e 2002.

  • 1,35 MB (ROM), compactado, no Windows Mobile 2003 for Pocket PC e no Windows Mobile 2003 for Smartphone.

Executando requisitos de RAM:

  • (Depende do aplicativo) + de 0,5 MB.

Tamanhos de aplicativo típico:

  • 5-100 KB.

Instalação do arquivo CAB

Durante a instalação das .NET Compact estrutura versão 2.0 serviço empacotar 1 e versões posteriores, você precisará instalar o dispositivo ou um armazenamento cartão se estiver presente.Se você optar por instalar o armazenamento, cache de assemblies global é colocado em uma placa de armazenamento e os arquivos para o Common linguagem tempo de execução (CLR) são colocados no diretório \Windows.No .NET Compact Framework versão 3.5, o cache de assembly global requer aproximadamente 5,2 MB de espaço, e o CLR requer 1,3 MB.

O desempenho do .NET Compact Framework varia a instalação do arquivo CAB dependendo da implementação da memória em hardware e software. Alguns dispositivos, melhor desempenho pode ser obtido pela instalação de cache de assemblies global para uma placa de armazenamento.

Uso de memória

The .NET Compact Frameworkk é projetado para operar de forma ideal em sistemas que têm as seguintes características:

  • Energia de bateria.

  • Aproximadamente 5 a 10 vezes a memória flash ou RAM arquivo capacidade do sistema para armazenar o .NET Compact Framework e seus aplicativos no RAM dinâmica (DRAM). 

  • Um espaço de trabalho de sistema autônomo pequeno sistema autônomo 128 KB a 1 MB em DRAM.

  • Uma unidade de disco rígida opcional.

The .NET Compact Framework usa a memória disponível no sistema com cuidado. Nenhum RAM é acessado até que você execute um aplicativo.Além disso, a .NET Compact Framework libera a RAM quando você encerra programas. Não é necessário o sistema operacional nativo para se ter seus próprios recursos de proteção de memória.Exceções são lançadas sempre quando memória que não seja de propriedade é acessada.

Quando memória está escassa, o .NET Compact Framework modo agressivo libera estruturas de dados internas que não são necessários pelo código atualmente em execução. Portanto, o programa pode continuar sendo executado, mesmo em situações de economia de memória.Se o aplicativo requer mais memória do que estiver disponível, a .NET Compact Framework Fecha o aplicativo completamente e libera todos os recursos subjacentes. The .NET Compact Framework propriamente dito não deve falhar devido a pouca memória.

O host de domínio de aplicativo inicia .NET Compact Framework aplicativos e o common linguagem tempo de execução. .NET Compact Framework aplicativos usam o espaço de código e dados estático e dinâmicos espaço da mesma maneira sistema autônomo aplicativos nativo. Quando nenhum .NET Compact Framework aplicativos em execução, não há nenhum custo de RAM além do host de domínio de aplicativo e uma pequena quantidade de dados estático é usada pelo common linguagem tempo de execução. Windows CE .NET cria um host de domínio de aplicativo quando um .NET Compact Framework aplicativo é iniciado.

.NET Compact Framework aplicativos são empacotados no s arquivo .exe e .dll arquivo s, que podem ser armazenados em somente leitura ou de leitura/gravar arquivo sistema no flash (ou ROM para leitura - somente). O carregador de classe do Common Language Runtime pode ler esses arquivos diretamente em blocos endereçáveis sem fazer uma cópia de memória e sem exigir uma unidade de gerenciamento de memória para criar uma exibição de memória mapeada do arquivo.

Desenvolvedores são incentivados a testar aplicativos em vários dispositivos para entender variâncias no desempenho de dispositivos específicos.

Armazenamento RAM

A Memória de acesso aleatório (RAM) é usada para armazenar estruturas de dados dinâmicas e código compilado JIT.The .NET Compact Framework usa RAM disponível, até um limite especificado pelo dispositivo, para armazenar em cache geradas código e estruturas de dados e, em seguida, libera a memória quando apropriado.

O Common Language Runtime usa uma técnica de densidade de código para liberar blocos de código compilado JIT em tempo de execução quando a memória está baixa.Isso permite que programas sejam executados em sistemas restritos de RAM com penalidade mínima no desempenho.

Armazenamento ROM

O código nativo que forma o Common Language Runtime pode residir na memória somente leitura (ROM) ou em um sistema de arquivos RAM.The .NET Compact Framework usa ROM disponível, o flash ou armazenamento em disco para permitir que os aplicativos continuam em execução com desempenho inferior em situações de pouca memória.

Arquivos que contêm instruções da Microsoft intermediate linguagem (MSIL) e metadados para bibliotecas de classe são armazenados em um sistema de arquivos ROM ou um sistema de arquivos RAM.Bibliotecas de classes podem ser descarregadas em um sistema de arquivos leitura/gravação como parte do processo de instalação de aplicativos descarregáveis.

Consulte também

Tarefas

Como: Melhore o desempenho

Conceitos

Gerenciamento automático de memória

Outros recursos

Visão geral da arquitetura do .NET compact estrutura