大家!
我根据我的应用程序中的一些数据绘制了一个图。该图具有滚动和缩放功能。为此,我在 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 之类的)?
非常感谢。