[問題] 下載圖片程式OutOfMemoryError
最近在寫一個輸入關鍵字自動從搜尋引擎下載圖片的程式
但是程式跑一跑會遇到這樣的錯誤訊息
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
google過和爬過文推測應該是memory leak的問題
不過還是不知道該如何解決所以只好來請教版上的先進們
以下是處理存圖部分的function code
根據錯誤訊息推斷 問題來源應該確定是來自這個function
**************************************************************************
public static void saveImage(String in, int i){
String name = "pic" + i +".jpg";
try{
URL url = new URL(in);
HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
InputStream input = urlconn.getInputStream();
ImageIO.write(ImageIO.read(input), "JPG", new File("/image", name));
input.close();
urlconn.disconnect();
}
catch(IOException e){}
}
**************************************************************************
自己測試下來推測問題應該是出在ImageIO.write那一行
但是因為不是宣告reader物件所以不知道是否要關掉什麼
而且因為是寫在獨立的function裡所以理論上存完一張圖function結束之後
裡面宣告的變數物件等應該也都會自動清除
但是不知道為什麼還是會遇上OutOfMemoryError
希望有經驗的板友能給我一點意見或是修改的建議
<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 98.180.53.217
推
03/04 19:29, , 1F
03/04 19:29, 1F