簡體   English   中英

將png圖像添加到Java小程序

[英]Adding a png image to a java applet

我對Java非常陌生,我想向我的applet添加一個PNG圖像。 由於某種原因,當我添加此圖像時,出現以下錯誤:

線程“ Image Fetcher 0”中的異常java.lang.OutOfMemoryError:java.awt.image.Raster.createPackedRaster(未知源)處java.awt.image.DataBufferInt。(未知源)處的Java堆空間Sun.awt.image.ImageRepresentation.setPixels上的.DirectColorModel.createCompatibleWritableRaster(未知源)在sun.awt.image.ImageDecoder.setPixels上的。在sun.awt.image.ImageFetcher處的sun.awt.image.PNGImageDecoder.produceImage(未知源)處在sun.awt.image.InputStreamImageSource.doFetch(未知源)處.fetchloop(未知來源)位於sun.awt.image.ImageFetcher.run(未知來源)

當我嘗試添加jpeg圖像時,效果很好。 我該如何解決?

您的PNG圖片有多大? 從給定的堆棧跟蹤來看,當嘗試從加載的圖像創建BufferedImage時,似乎堆空間不足。 您可以嘗試將圖像調整為較小的尺寸。

您可以首先嘗試增加堆大小,以查看是否可以解決問題-請參閱applet的java_arguments參數,盡管這不是永久解決方案(沒人喜歡占用內存的applet)。 您還應該通過探查器運行應用程序,並查看消耗了大部分內存的內存。 OutOfMemoryError可能意味着某處內存泄漏。 它甚至可能不在您的圖像加載類之內,因為在嘗試加載圖像時堆可能已經被過度填充,並且圖像加載導致其被填充。 嘗試在visualvm中使用探查器,因為它會告訴您最大的使用者。

希望能幫助到你 :)

-- Flaviu Cipcigan

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM