0

現在、UIView の 2 次元マトリックスをインスタンス化しています。各 UIView の drawRect は、2 ~ 3 の形状のうちの 1 つを描画するためにオーバーライドされます。

グリッドが大きくなるにつれて、各サブビューの drawRect に過度の時間が費やされていることに気付きました。私は2〜3個の形状しか持っていないので、2〜3個の一意のUIViewをそれぞれ1回だけ描​​画してマトリックスのレンダリングを高速化し、マトリックス内の適切な事前描画されたUIViewのコピーを何らかの形でインスタンス化したいと考えています。

UIView を UIImage としてキャプチャし、UIImage のコピーを作成し、このコピーをインスタンス化することを検討しました。ただし、このプロセスのオーバーヘッドにより、drawRect よりもかなり高速ではないかどうか疑問に思っています。

2-D マトリックスで UIView を再利用することにより、速度を最適化するためのベスト プラクティスを教えてもらえますか?

4

1 に答える 1

0

この問題の簡単な修正は、それ以上の更新を必要としない特定のUIViewのshouldRasterizeプロパティを有効にすることです。

于 2013-02-20T18:26:20.763 に答える