みんな!
アプリのデータに基づいてプロットを描画します。プロットにはスクロールとズームがあります。この目的のために、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());
使用する描画アルゴリズムのために、1 つだけでなく 2 つのビットマップが必要です。Asus Transformer でプログラムを実行すると、ピクセル単位の bmp サイズは 1280 * 2 * 1280 なので、バイト サイズは 1280 * 2 * 1280 * 4 になります。Eclipse からプログラムを実行すると、すべて問題ありません。しかし、タブレットから通常のユーザーのように起動すると、毎秒クラッシュします。
アプリを Eclipse から起動して実行できるようにすると、舞台裏で何が起こっているのでしょうか? プログラムで同じ手順を実行して、通常の起動時にクラッシュしないようにすることはできますか? または、他の描画アルゴリズム (OpenGL など) を使用する必要がありますか?
どうもありがとう。