0

iOS アプリでグラフィックスをレンダリングするために、コア グラフィックスまたはストレッチ可能な UIImage (いずれかの方法が機能すると仮定) を使用するオプションがある場合、どちらを使用しますか? ある方法で別の方法で行うことの長所と短所は何ですか?

4

1 に答える 1

1

UIImageカバーの下でCoreGraphics(またはおそらくCoreAnimation)を使用する可能性が非常に高いです。同じ作業を自分で行うか、おそらく間違いを犯すか、UIKit十分にテストされた の実装を利用することができます。もう 1 つの潜在的な利点は、 を使用することで得られる明らかではないパフォーマンス上の利点があることUIImageです。たとえば、OS X とは異なり、iOS ではCGContextバッキングされた を手動で作成することはできませんが、プライベート API を使用してジョブを実行できるため、おそらくそれを行うことができます。(本当に好奇心旺盛な方は、デバッガーまたは を使用して UIKit が何を行っているかを調べることができます。)IOSurfaceUIImagedtrace

要するに、仕事を成し遂げる最高レベルの抽象化を使用してください (UIKit は CoreGraphics よりも高レベルの API です) UIImage。ルーチンを使用しない理由の 1 つとしてUIImage、OS X と iOS の両方で実行することを目的としたクロスプラットフォーム ライブラリを開発している場合が考えられます。

PS: 「低レベルの API で実行できないような方法で許容できないほど遅い」というのは、私の考えでは「仕事を成し遂げていない」と見なされますが、両方の方法を試して測定しない限り、それを知ることはできません。

于 2013-08-21T03:16:44.510 に答える