0

古いアプリの1つ(実際には最初のアプリ)に戻り、古いデバイスでのクラッシュを防ぐためにメモリ使用量を削減しようとしています(古いデバイスで実行し、機器でプロファイルしましたが、そして、それがクラッシュする原因は間違いなくメモリの問題です)。残念ながら、私がアプリを作成したとき、私はiOS開発の一般的な慣行にあまり精通しておらず、構造が非常に貧弱でした。1つのViewControllerと1つのxibファイルを使用して、必要に応じてインターフェイス要素を非表示にしたり表示したりしました。

複数のクラスとビューコントローラーを使用して、完全なオーバーホールと最初からやり直す価値があるかどうか、そしてそれによってアプリの読み込みに必要な非常に大量のメモリ(70 + MB)が削減されるかどうか疑問に思っています。

また、.x​​ibファイルを空にして、すべてのインターフェイス要素をプログラムでロードした場合(および、1つの.xibファイルを引き続き使用した場合)も機能しますか?

4

1 に答える 1

1

アプリで実際に何が起こっているのかを知らなければ、それがどれだけ役立つかを知るのは難しいです。ただし、役立つ一般的なヒントを次に示します。

  • ビューコントローラーを分割して、ビューごとに1つのビューコントローラーを作成します。ビューコントローラが実際に複数のビューを制御する必要がある場合がありますが(メモリ効率、パフォーマンスなどのいずれかのため)、これを開始点として使用します。
  • すべてのオブジェクトを単一のXIBに入れないでください。ビューコントローラごとに1つのXIBを持つように分割し、必要に応じてiOSにXIB要素をロードさせます。
  • プログラムでインターフェイス要素を作成しても、メモリ使用量は役に立ちません。
  • キャッシュするものを監視し、パフォーマンス上の明らかな利点がある場合にのみメモリに保持します。

アプリを書き直すことにした場合は、Instrumentsを使用してアプリのプロファイルを頻繁に作成し、進捗状況を測定してください。

于 2012-07-01T18:28:01.730 に答える