gpt4 book ai didi

java - Android 位图 - 内存不足

转载 作者:行者123 更新时间:2023-12-01 10:58:18 24 4
gpt4 key购买 nike

我实现的函数有问题。在某些手机上,我遇到内存不足错误。

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 对象调整位图大小而不会出现内存不足错误?

最佳答案

我建议你使用一些ImageLibraries来有效地加载位图。

其中一些是Fresco , Glide , 毕卡西奥

我建议您使用Glide。看看吧here

关于java - Android 位图 - 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com