開發者可能已經注重到在索愛K700上載入了一個非常大的圖像之后卻無法使用它。這起初看起來非常希奇,但是當你了解了一些內存治理的知識后就會清楚其中的緣由了。
索愛K700擁有大約800KB的內存專門用于圖像的儲存。當通過Image.createImage()方法載入一個圖片后,假如圖像內存的空間足夠的話,載入的圖像將被存儲在這里面。然而,假如圖像內存已經滿了,圖像將被存放在閃存里,并在需要顯示的時候被移動到圖像內存之中。即使我們只是想顯示圖像的一小部分,整個圖像也必須被移動到圖像內存中。
所以,我們可以很順利地載入大于800KB的圖像,但是當嘗試把它顯示在屏幕上時就會顯得太大而不適合圖像內存并因此而不會被顯示出來。
為了確定一個圖像能夠被使用,你需要計算它需要使用多少圖象內存。所有的圖像,無論文件大小和格式,都以16位(RGB)格式加上可能的α通道(A)。依據格式不同,α通道可以是1位或者8位數據。假如圖象僅僅擁有一種透明色,那么推薦使用1位α通道,這樣就可以更快地畫到屏幕上。

新聞熱點
疑難解答