2

renderscript を使用するアプリの実行中にクラッシュします。残念ながら、logcat は特定の詳細を提供しません。

b = Bitmap.createBitmap(ib.getWidth(), ib.getHeight(),ib.getConfig());

Allocation mInAllocation = Allocation.createFromBitmap(mRS, inBitmap,
                Allocation.MipmapControl.MIPMAP_NONE,Allocation.USAGE_SHARED);

Allocation mOutAllocation2 = Allocation.createFromBitmap(mRS,
                 outBitmap, Allocation.MipmapControl.MIPMAP_NONE,
                 Allocation.USAGE_SHARED);

... .rs ファイルからアルゴリズムを実行し、後で以下を実行します

mOutAllocation2.copyTo(outBitmap)`;

mOutAllocation2 に USAGE_SHARED の代わりに USAGE_SCRIPT フラグを使用した場合、同じコード シーケンスが完全に正常に実行されます。

なぜこれが起こるのかについての助けはありますか?

割り当てが USAGE_SHARED タイプの場合、割り当てからビットマップへのコピー操作 (上記を参照) が高速であることを Android ドキュメントで読みました。現在、かなり大きな画像 (8MP 以上) の割り当てからビットマップへのコピーが数秒で実行されているのを確認しています。

現在、Nexus 10 (Android 4.3) を使用しています。

4

2 に答える 2