gpt4 book ai didi

android - 并不总是创建大位图

转载 作者:行者123 更新时间:2023-11-29 02:04:57 25 4
gpt4 key购买 nike

各位!

我根据应用程序中的一些数据绘制了一个图。该图具有滚动和缩放功能。为此,我在 MyMainFragment.onActivityCreated() 中创建了 2 个位图。

if (bitmaps[0] != null)
{
return;
}

final int deviceWidth = getResources().getDisplayMetrics().widthPixels;
final int deviceHeight = getResources().getDisplayMetrics().heightPixels;
final int deviceMaxDim = Math.max(deviceHeight, deviceWidth);

bitmaps[0] = Bitmap.createBitmap(
deviceMaxDim * 2,
deviceMaxDim * 1,
Bitmap.Config.ARGB_8888);

bitmaps[1] = Bitmap.createBitmap(
bitmaps[0].getWidth(),
bitmaps[0].getHeight(),
bitmaps[0].getConfig());

由于我使用的绘图算法,我需要 2 个位图,而不仅仅是 1 个。在 Asus Transformer 上运行程序,以像素为单位的 bmp 大小为 1280 * 2 * 1280,因此字节大小为 1280 * 2 * 1280 * 4。当我从 Eclipse 运行程序时,一切正常。但是当我像普通用户一样从平板电脑启动它时,它每隔一秒就会崩溃。

当我从允许它运行的 Eclipse 启动我的应用程序时,幕后发生了什么,我能否以编程方式遵循相同的步骤,以便它在正常启动时不会崩溃?或者我应该使用其他一些绘图算法(可能是 OpenGL 之类的算法)?

非常感谢。

最佳答案

解决方案很简单。我在我的代码中某处创建了一个 Canvas,在上面调用了 Canvas#setBitmap(bitmaps[?]),但没有意识到我必须调用 Canvas.setBitmap(null) 来释放引用。

关于android - 并不总是创建大位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532832/

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