私には大きなカスタムView
があり、その上に多くのリッチ テキスト、多くのフォント、複数の色、フォント サイズを描画します。この図面は可能な限り最適化済みです。再描画には約 300ms かかります。
この 300ms は 1 回の呼び出しで問題ありませんが、myView
は画面よりも大きいため、ScrollView に挿入され、ユーザーが指でスクロールすると、onDraw()
繰り返し呼び出されます。これは非常にずさんなスクロールをします。
同じアプリケーションは以前に iOS 用に作成されており、iOS は onDraw を呼び出さず (iOS の世界では呼び出されていると思いますdrawRect()
)、描画されたすべての画像は何らかのバッファーに格納されるため、実際のスクロールは非常に高速で非常にスムーズです。おそらくハードウェアが高速化。
「No onDraw」のスムーズスクロールのようなものを実現する方法はありますか? ビットマップに描画し、スクロール フェーズ中にビットマップをブリットすることを考えていました。しかし、テキストを描画するよりも速くなるでしょうか? ビットマップは Android で HW アクセラレーションされますか? この種の問題に対する最善のアプローチは何ですか?
ありがとうございました