ホワイトボードアプリを書いています。ビットマップ(描画ページ)をレンダリングして、そのビットマップをサーフェスビューにコピーします。エミュレータでは完全に動作しますが、Samsung Galaxy Aceで動作させると、予期せず終了します。このコード:canvas.setBitmap(ビットマップ)はエミュレータでは動作しますが電話機では動作しません
public void surfaceCreated(SurfaceHolder holder) {
Log.d(TAG, "Create surface");
mo_paper = BitmapFactory.decodeResource(getResources(), R.drawable.paper);
Log.d(TAG, "Created paper");
mo_easel = new Canvas();
Log.d(TAG, "Created easel");
mo_easel.setBitmap(mo_paper);
Log.d(TAG, "Set easel");
mo_matrix = new Matrix();
Log.d(TAG, "Assets loaded");
mainThread.setRunning(true);
mainThread.start();
Log.d(TAG, "Threads started");
}
出力がなく、「設定しイーゼル」「イーゼルを作成しました」、.setBitmap()メソッドは、エラーの原因となって表示されます。
したい他のどんなビットマップ上に描画することでしたので、inMutableは11前のAPIの上では不可能であるオプションを設定しますちょうどddms/logcat? – Peterdk
また、ビットマップの大きさ(ピクセル単位)はどれですか? – antlersoft
@Peterdk - ログキャストだけの爆弾。 DDMSの使い方はまだ分かりません! ;) –