0

onDraw()メソッドでTextPaintを使用してカスタムTextViewを作成しています。ただし、これは私のアプリに深刻な問題を引き起こしています。パフォーマンスに関しては、つまり。

onDraw()メソッドは何度も呼び出されます。しかし、私はそれを一度だけ描きたいです:(

setDrawingCacheEnabled(true);を使用してみました。しかし、そこには影響はありません。

メインレイアウトのテキストビューが自動的に回転するビューフリッパーもありますが、これによりすべてが再描画される可能性がありますか?

誰かが私にここでいくつかのポインタを与えることができますか?

4

1 に答える 1

0

描画キャッシュを有効にするだけでなく、inDraw で新しいビットマップ インスタンスを作成し、それをキャンバスに渡して描画します。次の onDraw の呼び出しで、ビットマップが null でない場合は単純に描画します。私はこれを自分でやっていますが、今はコードをコピーできませんが(電話を使用して)、パフォーマンスを向上させるのに魅力的です。

一貫して再描画されている理由については、無効になる原因となるオーバーラップするグラフィックの移動がありますか?

于 2011-06-30T08:18:41.280 に答える