0

私は2つの画像を重ねており、ACTION_MOVE中に下の画像から上の画像にピクセルをコピーしています. 私の目標は、ユーザーに消去感を与えることですが、一部の部分がコピー(消去)されず、タッチイベントが高速(指をすばやくドラッグ)すると悪化することがあります。

これは、ピクセルのコピーに使用しているコードです

mutable.getPixels(pixels, 0, width, xPos,  yPos, width, height) ;
mutable2.setPixels(pixels, 0, width,xPos,  yPos, width, height) ;
4

2 に答える 2

2

パフォーマンスについては触れません (メイン スレッドでレンダリングを実行しても問題ない場合もあれば、そうでない場合もあります)。ただし、すべてのタッチ データを取得する必要がある場合は、MotionEvent.getHistoricalSize() および関連するメソッドを使用して、処理した最後の MotionEvent からこの MotionEvent の現在の位置までに発生した中間の動きを取得する必要があります。

于 2010-10-29T03:58:34.237 に答える
1

すべてのタッチ イベントをキューに格納し、2 番目のスレッドで画像操作を行います。メインスレッドで高価なことは絶対にしないでください!

また、ピクセルを取得および設定する領域を最小限に抑えるようにしてください。もちろん、すでにピクセルを取得している場合は、再度取得しないでください (変更されていないと仮定します)。

また、操作で多くの重労働を行う場合は、最後の手段として JNI を検討することをお勧めします。本当に、本当に最後の手段。

于 2010-10-28T21:34:55.063 に答える