0

ビューで同じコントロールを作成するには、どのアプローチが適しているかを調べようとしています。100 個のカスタム コントロールを表示したい UIview があるとします。各カスタム コントロールには、2 つの uiImageView と 3 つの uiLabel が含まれています。現在、それを行うには2つのアプローチがあります。

  1. このコントロールで nib を作成します。そのファイルの所有者は UIView で、InitWithFrame で 100 回ロードします。したがって、100 個の uiView があり、それぞれに 5 つのコントロールがある = 600 個の uicontrols

  2. すべて同じ uiview で、プログラムによってコントロールを作成します。したがって、5 * 100 = 500 個の uicontrols があります。

ということで、アプローチ 2 の方がメモリ消費量が多いように見えますが、本当でしょうか? 各アプローチの読み込み時間はどうですか?どちらが良いですか?

ありがとうございました

4

2 に答える 2

1

コントロールを作成する 2 番目の方法は、より高速です。どちらのソリューションもコントロールを作成する必要がありますが、最初のアプローチには NIB ファイルを解析するオーバーヘッドがあります。問題は、2 番目のアプローチがどれだけ高速かということです。そして: 最初のアプローチは、特定のアプリケーションに影響を与えるほど遅いですか?

短期間のイベントのタイミングを計るための適切なコード サンプルを次に示します

于 2012-08-08T08:29:53.070 に答える
1

3 番目のアプローチが最適であることがわかりました。UITableView を使用してビューを作成します。そうすれば、uitable の再利用機能を使用できます。質問で提案されている2つのアプローチは、コントロールを再利用しない場合(行を適切に再利用するため)、ある時点でメモリ警告を作成します。

于 2012-11-18T18:38:21.380 に答える