多くのベジエ セグメントで構成されるパスを閉じました。これらのベジエ セグメントには、5000,5000 までの整数座標があります。ポイントがこれらの閉じたパスのいずれかの内部にあるかどうかを計算する必要があります。私はこのコードを使用します:
// p is a Path, bounds is a RectF
p.computeBounds(bounds, true);
Region region = new android.graphics.Region();
region.setPath(path, new android.graphics.Region((int)bounds.left, (int)bounds.top, (int)bounds.right, (int)bounds.bottom));
私はそれをパスごとに1回行い、次に行います
region.contains(x, y);
問題は、computeBounds が大きなパスのアプリをクラッシュさせることです。強制終了はありません。SIGSEGV を受信してホーム画面に戻り、メッセージは表示されません。座標をより小さい数値 (1000 で除算) に縮小しようとしましたが、役に立ちませんでした。プログラムは依然としてクラッシュします。
ポイントが複雑なパス内にあるかどうかを計算する他の方法はありますか?これはクラッシュしませんか?
EDIT RenderScriptでこれを計算する方法はありますか? パス/ベジエ曲線を含む RenderScript の例が見つかりません...
EDIT 2 これは、Nexus 7の4.1.1と4.1.2、およびICS x86タブレットエミュレーターでも発生します