私のアプリケーションは、連続ループでキャンバスに描画し、各ループで描画可能オブジェクトの位置を再評価し、アニメーション化するためにそれらを循環させます。私の質問は、次の2つの方法のどちらが優れているのか、そしてその理由は何ですか?私は初心者なので、メソッドのベンチマーク方法などがわからないので、可能であれば、またはすでに持っている場合は、入力をいただければ幸いです。
最初の方法(私が使用している方法)は、pngリソースにハンドルをDrawableとして割り当てることです。次に、呼び出すオブジェクトを描画するたびに、次のようにします。
Drawable.setBounds(x,y,x,y);
Drawable.draw(canvas);
私の質問は、(コンストラクターで)リソースをBitMapとしてデコードしてから、適切なサイズにスケーリングする方が速いでしょうか。次に、各ループで次の方法でリソースを描画します。
canvas.drawBitmap(DrawableName, 0, 0, null);
私が尋ねる理由は、私のアプリは何百ものリソースを消費するため、いくつかを変更しても違いを区別するのに十分ではないためです。コードをオーバーホールする前に、この方法で実行する方がはるかに高速かどうかを知りたいと思います。とにかく、どうにかしてパフォーマンスを上げる必要があるので、他の良いアイデアも歓迎します。