次の方法で共有


.NET Compact Framework でデバイスのメモリ管理

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

.NET Compact Framework の重要な強度は効率的なリソース使用量、特に揮発性メモリです。 デバイス ハードウェア メモリ管理ユニット (MMU) やオペレーティング システムの仮想メモリを持つ必要はありません。

.NET でコンパクトなフレームワーク容量

.NET Compact Framework Version 3.5 の「CAB ファイル インストールを説明します。 .NET Compact Framework Version 3.5 はまだ ROM. で利用できません。

次の .NET Compact Framework Version 2.0 の記憶域のサイズのとおりです。 

  • 5. 5 MB (ROM)、Windows Mobile 5. 0 で、圧縮解除します。

注意

固定記憶域は Windows Mobile 5. 0 から始まるなった圧縮されます。

次の .NET Compact Framework Version 1.0 の記憶域のサイズのとおりです。 

  • 1.55 MB (ROM)、Pocket PC 2000 および 2002年には、圧縮します。

  • 35 MB (ROM)、Pocket PC 用の Windows Mobile 2003 と Windows Mobile 2003 Smartphone の圧縮します。

実行中の RAM 要件:

  • 0. 5 MB + (アプリケーションによって異なります)。

一般的なアプリケーションのサイズ:

  • 5-100 KB です。

CAB ファイルのインストール

.NET Compact Framework Version 2. 0 Service Pack 1 以降バージョンのインストール中に存在する場合、デバイスにかまたは、メモリ カードをインストールを求めます。 記憶域をインストールする場合、グローバル アセンブリ キャッシュは、メモリ カードに配置され、共通言語ランタイム (CLR) ファイルは、\Windows ディレクトリに配置されます。 .NET Compact Framework Version 3.5、グローバル アセンブリ キャッシュには約 5. 2 MB の領域が必要ですし、CLR 1. 3 MB が必要でします。

.NET Compact Framework のパフォーマンスはハードウェアとソフトウェアのメモリ実装に応じて、CAB ファイルのインストールによって異なります。 一部のデバイス、パフォーマンスを向上させるをグローバル アセンブリ キャッシュ、メモリ カードにインストールして実現できます。

メモリ使用量

.NET Compact Framework k は、次のような特徴のあるシステムで最適に動作するなっています。

  • バッテリの電源をします。

  • 約 5 ~ 10 倍フラッシュ メモリまたは RAM ファイル システムのキャパシティ動的メモリ (DRAM) 内に .NET Compact Framework とそのアプリケーションを格納します。 

  • 作業領域から DRAM で 1 MB を 128 KB 以下として小さくします。

  • 省略可能なハード ディスク ドライブ。

.NET Compact Framework は、利用可能なシステム メモリを慎重に使用します。 アプリケーションを実行するまで、RAM はアクセスされません。 さらに、.NET Compact Framework プログラムを終了するときに、RAM を解放します。 ネイティブ オペレーティング システムは独自のメモリ保護機能は必要ありません。 例外はアクセスはメモリが所有していない場合に常にスローされます。

メモリが不足すると、.NET Compact Framework は積極的には、現在実行中のコードが必要でない内部データ構造を解放します。 プログラムを続行するために、メモリ不足の状況でも、実行します。 アプリケーションはより多くのメモリを必要な場合、.NET Compact Framework 効率的なアプリケーションを終了し、基になるすべてのリソースの解放します。 .NET Compact Framework 自体はメモリ不足のため失敗しません。

アプリケーション ドメイン ホストは、.NET Compact Framework アプリケーションと、共通言語ランタイムを開始します。 .NET Compact Framework アプリケーションは、ネイティブ アプリケーションと同じ方法でコードの領域と静的および動的なデータ領域を使用します。 .NET Compact Framework アプリケーションの実行中なし、メモリ コストを超えて、アプリケーション ドメイン ホストがないされ少量の静的データを共通言語ランタイムによって使用されます。 Windows CE .NET では、.NET Compact Framework アプリケーションが起動とアプリケーション ドメイン ホストは、作成されます。

.NET Compact Framework アプリケーションは.exe ファイルおよび.dll ファイルをフラッシュで読み取り専用または読み取り/書き込み、ファイル システムに格納できるにパッケージ化 (読み取りの ROM または専用)。 メモリ コピーを加えずにおよび、メモリ管理ユニット メモリ マップト ファイルのビューを作成せず、共通言語ランタイム クラス ローダーを直接アドレス指定可能なブロック内のこれらのファイルを参照します。

開発者がパフォーマンスにデバイス固有の差異を理解する複数のデバイス上のアプリケーションをテストすることをお勧めします。

RAM の記憶域

ランダム アクセス メモリ (RAM) は、動的なデータ構造と JIT コンパイルされたコードを格納する使用されます。 .NET Compact Framework では、デバイスで指定された最大の利用可能な RAM を使用して生成のコードとデータ構造のキャッシュをし適切な場合は、メモリを解放します。

共通言語ランタイムはコード pitching 手法を使用して実行時のメモリが少ないときに JIT コンパイルされたコードのブロックを解放します。 これにより、大規模なプログラムは最小限のパフォーマンス ペナルティを使ってシステムのメモリ制限に対して実行できます。

システムの記憶域

共通言語ランタイムを形成するネイティブ コードは読み取り専用メモリ (ROM) または RAM ファイル システムで配置できます。 .NET Compact Framework 使用利用可能なシステムは、フラッシュ、またはディスク記憶域のアプリケーションでメモリ不足の状況でパフォーマンスの低下で実行を継続します。

Microsoft 中間言語 (MSIL) 命令およびクラス ライブラリのメタデータを含むファイルは、システムのファイル システムまたは RAM ファイル システムに保存されます。 クラス ライブラリは、ダウンロード可能なアプリケーションのインストール プロセスの一部としての読み取り/書き込み、ファイル システムにダウンロードできます。

参照

処理手順

方法 : パフォーマンスを向上します。

概念

自動メモリ管理

その他の技術情報

コンパクトなフレームワークを .NET アーキテクチャの概要