2009-08-18 63 views
7

在BlackBerry中,在內存使用情況和性能方面使用Bitmap類還是EncodedImage更好?有關於使用這些類的具體提示嗎?在黑莓中使用Bitmap或EncodedImage會更好嗎?

+2

如果你的源圖像實際上是一個PNG,GIF,JPEG或任何,你必須使用EncodedImage。設置BitmapField時,可以使用位圖創建它,也可以稍後設置EncodedImage。奇怪的是,你只能在創建時將其設置爲可聚焦,其中需要位圖。除非EncodedImage在內部也保留一個解碼副本(沒有想法 - 也可能取決於JDE版本),但是我注意到getBitmap()通常非常快,所以Bitmap將使用更多的內存(完全解碼的圖像)。你可能需要做你自己的分析,看看你的確切用例... – lilbyrdie 2009-08-21 16:57:14

+1

這不應該是一個答案,而不是評論? :) – KarolDepka 2011-08-07 21:38:50

回答

7

我的觀察是,更好:

  • 使用位圖和drawBitmap爲需要重繪經常(在比賽前的背景圖像)

也許是因爲位圖是一個原始格式,因此沒有表現元素在drawImage前解碼EncodedImage。另一方面,GIF動畫與EncodedImage完美配合。

  • 使用EncodedImage對動畫或大量資源的

當您從GIF,PNG,JPG格式的加載位圖,他們無論如何都會被開闢爲一個EncodedImage(例如照片或德科雷元素),如果你這樣做了很多次,也可以打敗性能(例如50秒加載從資源14 PNG位圖上的大膽,平均尺寸爲80 KB,調整好2秒裝入EncodedImages)

UPDATEstated by Fostah EncodedImage有一個getBitmap()函數您可以使用將任何EncodedImage轉換爲位圖。所以你可以加載EncodedImage然後用作位圖

相關問題