簡體   English   中英

Android Java減少位圖內存負載

[英]Android java reducing bitmap memory load

我已經問過一個關於相同主題的問題( 這里 ),但是我還有一個問題,所以我認為一個新的問題會更好(如果我錯了,請糾正我)。

我注意到Android位圖使用每像素編碼。 這是相當低效的。 然后我偶然發現了BitmapFactory.Options類,該類使您可以選擇較小的每像素(RGB_565)格式:

public BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;

然后在加載位圖時使用此選項以減少內存負載。 但是仍然有一個按像素編碼。 現在我的問題是,有沒有辦法使用非每像素編碼在畫布上顯示位圖? 還是可以在不花費更多內存的情況下放大較小的位圖(即,您有10x10的圖像,並希望將其放大到100x100,而無需在內存中具有100000像素,而僅需要100)?

希望我的問題清楚。 我可以發布一些代碼,但看不到此特定問題的附加價值。

這非常令人沮喪,我已經考慮了好幾天了,反復閱讀了Bitmap文檔,最終拼命地發布了一個關於stackoverflow的問題,過了幾分鍾,我發現了這個解決方案。

事實是,這不是Bitmap類中的選項,而是Canvas類中的選項。 Canvas類具有幾個用於此的功能, 在此進行描述

drawBitmap(位圖位圖,矩陣矩陣,油漆)

drawBitmap(位圖位圖,Rect src,RectF dst,Paint paint)

drawBitmap(位圖位圖,Rect src,Rect dst,Paint paint)

很抱歉打擾,但我很高興得到了解決方案。 我希望其他人可能會覺得有用。

暫無
暫無

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

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