私は画像処理プロジェクトに取り組んでいます。私のアプリケーションでは、フォルダから1つの画像を処理しています(私はwhileループで画像を処理しています)。 4つのイメージカウントごとにガベージコレクション(GC.Collect()) 1000画像を処理した後にOutOfMemoryException
(ビットマップイメージがピクチャボックスに割り当てられている場合は除外されます)の問題を解決する方法はありますか?どのようにOutOfMemoryExceptionを解決するには#
答えて
どのように画像を使用しているかによって異なります。関連するインスタンスを破棄していない可能性があります。 usingステートメントを使用してラップしてみてください。
メモリリークを探します。 gcrootコマンドでWinDbgを使うことができます。下のリンクを参照してください。
あなたは容疑者を調査する必要があります。 SOSデバッグ拡張機能を使用することができます。
!DumpHeap -type LeakingClass
が続いアドレスでGCRootを呼び出し、メモリ内のオブジェクトをピンか見て: 次のコマンドを使用すると、メモリ内のクラスのインスタンスとそのアドレスのリストを提供します
!GCRoot <your address here>
ますDumpHeapコマンドの結果からアドレスを貼り付けることができます。
それは非常に悪いことをすることなく、それらの例外を得るためにタリー大丈夫です。ラージヒープフラグメンテーションは未解決の問題です。
主なアプリケーションの制御下で画像がなくなってから再起動するまで、または64ビットに移動するまで、画像に作用する別のプロセスを開くことです(断片化の問題が起こりにくくなります) 。ビットマップ画像は、これは1つのチャンク内に大量のメモリを必要とするピクチャ
に代入されたとき
例外が貫通します。それらの画像について教えてください。彼らはどれくらいの大きさですか?なぜpicturebox(バッチ処理は通常、画像を見る必要はありません)。なぜなら、これは明白な問題であり、画像が大きければそれが期待されます。
1つのイメージサイズは1MB(ビットマップイメージ) –
あなたは1MBのメモリを意味しますか?メモリサイズは? 1MBのメモリに問題はありません。ディスク上の1MBのイメージは、数百万MBのメモリになる可能性があり、その後、脆弱性の問題にぶつかります。問題の例については、http://connect.microsoft.com/VisualStudio/feedback/details/521147/large-object-heap-fragmentation-causes-outofmemoryexceptionを参照してください。 – TomTom
- 1. C#でAntlr4で大きなファイルを解析すると、OutOfMemoryExceptionがどのように解決されますか?
- 2. どのようにOracle DBのトリガエラーを解決するには?
- 3. どのようにメモリエラーのPHPExcelを解決するには?
- 4. どのようにDBeaverデータベースのエラーを解決するには?
- 5. どのようにブートストラップグリッドの問題を解決するには?
- 6. どのようにこのハードコンビナトリアルを解決するには?
- 7. どのようにこのSQLを解決するには?
- 8. どのようにこのクエリを解決するには?
- 9. iphone:どのようにこのメモリリークを解決するには?
- 10. どのようにこのメモリリーク(iPhone)を解決するには?
- 11. OutOfMemoryExceptionを解決する最良の方法は? (C#)
- 12. Android:android.view.ViewRoot $ CalledFromWrongThreadException - どのように問題を解決するには?
- 13. どのようにエラーモジュールsklearn.clusterを解決するには?
- 14. どのようにandroid.os.NetworkOnMainThreadExceptionを解決するには?
- 15. どのようにActiveRecord :: RecordNotFoundを解決するには?
- 16. どのようにnginx SSLエラーを解決するには?
- 17. どのようにスクリプトエラーを解決するには:ノードモジュール?
- 18. NSDictionaryエラー。どのようにそれを解決するには?
- 19. どのようにリーク(iPhone)を解決するには?
- 20. どのようにParameterMissingエラーを解決するには?
- 21. どのようにjava.library.pathエラーでconscrypt_openjdk_jniを解決するには?
- 22. どのようにvb6.0でランタイムエラー3704を解決するには?
- 23. どのようにアンドロイドでSAXParseExecptionを解決するには?
- 24. どのようにcom.library.androidエラーを解決するには?
- 25. どのようにEmptyResultDataAccessExceptionを解決するには?
- 26. パーソナルライブラリプロジェクト、どのようにこれを解決するには?
- 27. どのようにjava7 nioソケットWritePendingExceptionを解決するには?
- 28. どのようにコンパイルエラーアンドロイドスタジオを解決するには?
- 29. どのように "javax.persistence.OptimisticLockException:"を解決するには、ハイバネート?
- 30. GridView.Row.Count常に0、どのように解決するには?
どのような関数がエラーを生成しますか? – Gabe
ビットマップイメージがピクチャボックスに割り当てられている場合は例外が発生します –
GC.Collect()..は決して使用しないでください。特にループ内には使用しないでください。これは本当に問題を起こし、すべてのオブジェクト世代をアップグレードし、単にGCを役に立たなくします。それは問題自体を引き起こす可能性もあります... 以下の他の解決策を参照し、回収方法 –