私は、自分が書いているコンピュータ検索プログラム用のテキストを見つけるために、システム上の多くのファイルを検索しています。しかし、大きなファイルが読み込まれると、行はメモリに残り、1GB以上のRAMを使用します。私は問題が何であるか疑問に思いました。ここに私のコードです。多くのファイルを読むとメモリに問題がありますか?
private int SearchInFile(SearchResult searchResult, Options options) {
if (searchQuery.inFile.Length == 0) return -1;
if (!options.searchOnlyInTextFiles || searchResult.type.Equals(".txt")) {
try {
int index = 0;
foreach(string line in File.ReadLines(searchResult.path)) {
index++;
if (line.Contains(searchQuery.inFile)) return index;
}
} catch(Exception e) {
Console.WriteLine(e);
}
}
return -1;
}
あなたの質問は何ですか? –
管理対象メモリでは、メモリ使用量の増加は正常です。 GCは一旦メモリが圧迫されるとクリーンアップされます。 – Sefe
@Sefeでもギガバイトですか? – Vector