2016-09-28 13 views
0

ViewControllerがどれくらいのメモリを持っているか知りたいのですが、私がいくつかのアプリケーションを開発しているときには、ViewControllersを作成する方が良いかどうか、またはViewControllersを少なくしてコード、UserInterfaceの代わりに。ViewControllerはどれくらいのメモリを消費しますか?

私が言っていることの例:私は2種類のデータがあり、それらを表示したいとしましょうViewControllerしかし、これらの2つのタイプはほぼ同じです。だから私は1つだけViewControllerとコード内のものを変更するか、すべてのタイプのViewControllerを作成することができますか?

私はビューの役割に見てきた

それがUIであるが、のは、それは数行のコードであることを言わせてどのくらいのコードとどのくらいのものに依存していることを知っていて、ちょうど非常に基本的なViewController

コントローラ アップルが、私は答えを見つけることができませんでした。 https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/index.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

私はそれがちょっと変わったと知っていますが、私は本当に好奇心です。おかげさまで

+0

この質問は、抽象的には非常に曖昧で、答えにくいです。あなたが考えている実際の2つのタイプの実用的な例を与えることができれば、おそらくより良い相談を提供することができます。 – Rob

答えて

3

インスタンス化されていないビューコントローラはメモリを使用しません。それは、アプリケーションの一部として、ディスクスペースのわずかな量が必要ですが、それが作成され、表示されるまで、実行時のメモリはありません。

あなたは現在、時期尚早の最適化を犯しています。書き込みが容易で、保守が容易で、デバッグが容易なように、コードを適切に記述してください。対処する必要のある問題が発生するまでは、メモリ使用量やパフォーマンスなどのことを心配しないでください。

2つの異なるタイプのデータを持つ2つの異なる画面がある場合は、2つの異なるビューコントローラを作成します。

作業が終了したら、Instrumentsを実行して、メモリを浪費するリークやリファレンスサイクルがないことを確認します。

1

コード内の余分なコントローラのクラスのサイズはごくわずかです。極端な数について話していない限り、私は心配しません。ここの統治原理はDRYである可能性が高い。非常に小さなもの(例えば、ラベル上の名前など)が異なるオブジェクトがたくさんある場合は、これらのオブジェクトがすべて適合する共通のプロトコルを作成してから、ビューコントローラを作成することができます特定のオブジェクトではなく、そのプロトコル用に設計されています。しかし、たくさんの扱いにくい文を追加し、プログラムでコントロールを追加すると、ストーリーボードに複数のシーンが存在しないようにするだけで、あまりにも遠すぎるかもしれません。

関連する問題