4

アプリの 1 つで新しい UI をいくつか試しています。グラデーションの背景のような UI 要素を追加する最も効率的な方法は何だろうと思っています (アプリのサイズと速度/メモリ消費の両方を念頭に置いてください)。

Inkscape や Illustrator などで要素を作成し、UIImage>UIIMageView を介してそれらをロードしたほうがよいでしょうか? それとも、 CGGradientまたはCAGradientLayerを使用するのが最善でしょうか?

また、私はこの種のことについてかなり頻繁に疑問に思っており、これらの種類のもの (速度、メモリ消費、全体的なパフォーマンス) を自分でテストする方法を誰かが説明できるかどうか疑問に思っています。

4

1 に答える 1

3

CAGradientLayers はかなり良いです。特に、網膜/非網膜、iPhone/iPad の組み合わせを含める必要がなく、色の変更が画像処理ソフトウェアで一連の画像全体を再生成するのではなく、コードを 1 行微調整するだけです。

drawRect で他の描画も行っている場合は、CGGradient で描画します。背景だけが必要な場合は、CAGradientLayer を使用します。

Instrumentsを使用してパフォーマンスを分析できます(製品-> XCodeのプロファイル)

  • スクロール/アニメーションがある場合、コアアニメーションツールは毎秒フレームを提供します
  • タイム プロファイラー ツールは、どの関数が時間を消費しているかを示します。
  • さまざまなメモリツールでメモリ消費量が表示されます
于 2012-06-12T16:17:45.533 に答える