我有一個執行檔,他24H他一直在跑,每小時產生一張圖片
比如:D:\圖片檔案位置
檔名ABC.jpg
然後比如 早上8點產生ABC.jpg 之後 9點,10點一樣產生ABC.jpg ,他會9點覆蓋8點,10點覆蓋9點
一直去循環,產生一個新圖片檔覆蓋前一個,但我發現
執行檔跑跑 大概跑15天左右 他全部執行檔就關閉了 (我這個執行檔 有5個) 都做一樣產生圖檔動作
我有寫記憶體釋放
以下相關記憶體釋放code
ExcelPath.Dispose();
JPGPath.Dispose();
sheet.SaveToImage(txtJPGPath.Text + @"\" + txtJPGName.Text + ".jpg");
lblResult.Text = "圖片: " + txtJPGName.Text + "轉檔成功!";
sheet.Dispose();//關閉記憶體
當然關閉資料庫一定有的
dt.Dispose();
dt2.Dispose();
dt3.Dispose();
dt4.Dispose();
dt5.Dispose();
dt6.Dispose();
dt7.Dispose();
請問我是不是漏掉什麼導致它記憶體一直被吃掉最後程式崩潰強制關閉?
還是複製貼上圖檔漏掉什麼?
畢竟該電腦24H 不關機 ,一直在跑執行檔
您寫的開發好的執行檔 ,放過去 給他Run ....
是 windlows 內 『工作排程器』
一般就是時間到了,就去執行您放的執行檔,這不會檔機,執行完就會釋放了。
『執行檔跑跑 大概跑15天左右 他全部執行檔就關閉了 (我這個執行檔 有5個) 都做一樣產生圖檔動作』表示 您的架構應該有問題,該不會是Thread 再產生 Thread
您的主程式都沒有關過?
看到"ExcelPath" 您再處理EXCEL 所以不知道
是將EXCEL 直接打開,還是COPY 到TMP 再打開?
或者 EXCEL資料太大,造成您的 DLL 開不了EXCEL 資料處理...
或者....
Windows...
EXCEL ,並沒有 打開 只是選擇,產生圖片結果 並部會把Excle 打開, 然後Excel 資料並不會太大
有去看電腦事件檢視器,看不出來哪裡錯誤..
曾經也有人這樣跟我說 一個執行檔,透過排程器,去弄,但來源要活的,控制時間要活得,檔名也要活得,可以讓業主去調
可以在程式中檢查可用記憶體,如發覺過低,可執行 Application.Restart(),這樣就可以解決 memory leakage 的問題。