1

iOS は多くのフレームワークを提供します。私は iOS を初めて使用しますが、よくわからない概念が 1 つあります。アプリが依存するフレームワークの数を最小限に抑えると、パフォーマンスが向上すると思いますが、正しいですか? またはそれは問題ではありませんか?たとえば、iOS フレームワーク (コア データやコア グラフィックスなど) の機能が本当に必要ない場合は、メモリ フットプリントを節約したり、パフォーマンスを最適化したりしていますか? 私のアプリでは、コードが単純すぎて、コア データ (非常に基本的な機能) なしで自分で書くことができます。

この概念について説明している良い記事を見つけることができませんでした。Apple によってリリースされたすべてのフレームワークは、それらを使用するプロジェクトとは無関係にデバイスに展開されますか?

4

1 に答える 1

2

通常、使用していないフレームワークにはリンクしないことをお勧めします。より具体的な質問に答えるには:

Apple によってリリースされたすべてのフレームワークは、それらを使用しているかどうかにかかわらず、プロジェクトに関係なくデバイスに展開されますか?

基本的にはい - それらは iOS の一部として提供されるため、既にデバイスにロードされています (そして常に存在します)。

アプリが依存するフレームワークの数を最小限に抑えると、パフォーマンスが向上すると思いますが、正しいですか?

おそらく -- リンカー/ローダーがフレームワークをメモリにロードしてアプリをリンクする必要はありませんが、そのためのパフォーマンス コストは非常に小さいため、フレームワークのリンク/ロードを回避することは、使用しない正当な理由にはなりません。それ以外の場合は、それが役立つと思われる場合は、それを使用してください。

メモリフットプリントを節約できていますか

多分。共有ライブラリをロードすると、ライブラリのコンテンツがアプリのメモリ空間にロードされるため、メモリ フットプリントが増加します。ただし、ライブラリが別のアプリ (または OS) によって既に読み込まれている場合は、それを使用するすべてのアプリ間で共有されます。

それでも、メモリ フットプリントが増加する可能性があるということは、別の方法で役立つと思われるフレームワークの使用を避けるべき悪い理由です。

于 2013-06-13T01:30:58.373 に答える