UIViewControllerの内容を徐々に読み込んで、アプリを「スニッピア」にするテクニックを探しています。 viewControllerをスタックにプッシュする際に、この問題が発生したことに気付きました。UIViewControllerのビューには、透明性を持つ複雑なサブビューがいくつかあります。私はviewDidAppearの後にそれらを作成し、それらをフェードインすると、トランジションがはるかにスムーズに見えるのだろうかと思います。iOSアプリのパフォーマンスを向上させるためにプログレッシブサブビューをロードする
AppleのTrailersアプリでも同様の効果が見られました。そのアプリでムービーをタップすると詳細ビューがプッシュされ、内容は事実の後にロードされます。その遅延の一部は、それらを表示する前に詳細をダウンロードしているためですが、ダウンロードされているかどうかにかかわらず、常に大きな画像が消えているようです。
これで多くの人が成功したか、または一般的なUIViewControllerの負荷が向上していますか?
私は現在、3番目の可能性で提案したものに似た戦略を実装しています。最初にviewcontrollerがロードされると、それを変数に格納して、表示する必要があるたびに再利用できるようにします。それはシングルトンのようなものです(メモリ警告があればリリースします)。これにより、最初のロードは遅くなりますが、その後のロードは即座に実行されます。待ち時間を緩和するための最初の負荷のスピナーを示します。 –
うん、ああ、 's-word'。 ;-)シングルトンは、共有インスタンスとしてのクラスだけではなく、一度しかインスタンス化されないクラスでもないことに注意してください。それは、それ自身が複数回インスタンス化されるのを防ぐクラスです。 View Controllerの1つのインスタンスを再利用しているだけです。これは問題ありません。それは良い解決策のように思えます。 – Caleb
本当はシングルトンではありません。 –