我遇到了一個我實現的函數的問題。在某些手機上,我收到了內存不足錯誤。Android位圖 - 內存不足
private Bitmap getIconMarkerOfPlayer(Player p) {
Drawable drawable = getIconOfPlayer(p);
Bitmap img = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_4444);
Canvas canvas = new Canvas(img);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
drawable.draw(canvas);
final float scale = this.getResources().getDisplayMetrics().density;
int heigthPixels = (int) (24 * scale + 0.5f);
int widthPixels = (int) (24 * scale + 0.5f);
return Bitmap.createScaledBitmap(img, widthPixels, heigthPixels, false);
}
的getIconMarkerOfPlayer(Player p)
功能提供了根據玩家的狀態(死的,活的,離線,...)和它的顏色的「編程」繪製。在早期的比賽中,每名球員都擁有獨特的顏色。
如何從Drawable
對象調整位圖而不會出現內存不足錯誤?
請嘗試在這裏[顯示位圖高效](http://developer.android.com/training/displaying-bitmaps/index.html)如果你還沒有這樣做 –