自分のすべての音楽ファイルをインデックスに登録し、データベースに格納します。 私は、私の音楽ドライブのルートから始めて、私が迂回的に呼び出すこの機能を持っています。C#膨大な量のメモリを使わずに大量のフォルダとファイルを再帰的にループする方法
すなわち
start > ReadFiles(C:\music\);
ReadFiles(path){
foreach(file)
save to index;
foreach(directory)
ReadFiles(directory);
}
これは正常に動作しますが、プログラムの実行中に使用されるメモリの量が成長し、成長して...最後に私のシステムがメモリ不足。
誰かがこのタスクを完了するために4GBのRAMを必要としない優れた方法がありますか?
最高のお礼、Tys
実際のコードを掲載してください。根本的にあなたのアプローチに間違いはありません。 –
再帰は使用可能なメモリによって制限されませんが、スタックのサイズによって制限されます。したがって、メモリが足りなくなった場合、データを長時間保持しているように見えます。 –
多くのスペースを必要とするのに十分な音楽があるということを想像できません。スタックのオーバーフローが発生していないか、ある時点で無限ループに入ったことは確かですか? –