2

各アイテムが次のもので構成されるコレクションがあります。

ConcurrentDictionary<string, string> m_Dict1;    
ConcurrentDictionary<string, string> m_Dict2; 
ConcurrentDictionary<string, string> m_Dict3;  
string m_filePath;
string m_extension;
string m_directoryFullPath;
string m_fileName;
string m_directory;

コレクションをバイナリ ファイルに保存すると、ファイル サイズは約 62 MB になります。

バイナリ ファイルからのコレクションの復元以外はほとんど何もしないプログラムを起動すると、タスク マネージャーのアプリケーション プロセスは、アプリケーションが約 312 メガバイトを使用していることを示します。

これは、予期しないことが起こっていることを示しているのでしょうか?

保存されたバイナリ ファイルのサイズは、メモリ内のコレクションに保持されている同じデータのサイズに似ている必要がありますか? それとも、2 つのサイズが似ているはずだと期待するのは間違っていますか?

4

1 に答える 1

2

バイナリ ファイルをコレクションにロードするコードを新しい関数に移動します。アプリ main() から、この新しい関数を呼び出します。その後、常に main() から GC.Collect() を呼び出して再度確認します

于 2013-07-30T02:58:00.143 に答える