私はキャンバスに描画しているだけで、キャンバスをJPEGに保存しようとしています。私はいくつかのデバイス上でこれをテストし、ICSで動作するようには思えないことに気づいたと私は、次のコードをしようとすると、私にはUnsupportedOperationExceptionエラーを与えていますsetBitmapがICSで動作しないように見えるのはなぜですか?
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmap);
// Drawing to canvas here
OutputStream stream = new FileOutputStream("/sdcard/test.jpg");
bitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
これは、すべてのonDrawメソッドで行われ、エラーがあるさcanvas.setBitmap(ビットマップ)。
これはDroid X(2.3)とTab 10.1(3.1)ではうまく動作しますが、ICSを実行しているときはGalaxy Nexus(4.0)とTab 10.1で失敗します。私はちょうど本当に簡単な何かを探しているかもしれません。私は夜のこのほとんどの作業を進めていません。どんなアイデアも大歓迎です!
更新日: 「強制GPUレンダリング」を無効にしたところ、今のところ動作するようです。これを行うにはより良い方法が必要です。
私の設定では厳密なモードが無効になっています。私はAsyncTaskからこれをやろうとしましたが、キャンバスをビットマップに保存するように再描画する必要があるため、リークしたウィンドウエラーが発生しています。 – Mark