UIViewサブクラスのdrawRect:関数に問題があります。私はそれに使用CGContextDrawRadialGradient()します、そしてそれ。ユーザーがUIViewをドラッグすると、グラデーションを含めると追いつくのに苦労しました。
Time Profilerを使用すると、文字通り私の時間の98%以上がサブクラス' drawRect:メソッドに費やされていることがわかります。
まず、グラデーションの静止画像を使用する方が速いでしょうか?第二に:これをスピードアップする方法はありますか?どういうわけかグラデーションをキャッシュできますか?あまり変化しませんが、をドラッグすると、周囲のパスと交差するパスが変化しますUIView。
drawRect:メソッドがすべてのCPUサイクルを吸い上げないようにする方法に関する一般的なガイドを誰かが知っているなら、それは素晴らしいことです。