看板 java 關於我們 聯絡資訊
最近在寫一個輸入關鍵字自動從搜尋引擎下載圖片的程式 但是程式跑一跑會遇到這樣的錯誤訊息 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
f953024:能給完整的程式否? 由你的問題敘述我還能幫的上忙 03/04 19:29