戻るボタンをタップすると、ビューの 1 つが数秒間フリーズします。
さらに、このビューで項目の 1 つをタップすると、ポップアップが表示されます (カスタムではなく、UIPopoverController
)。このポップアップは非常に高速に表示されますが、ポップアップを「裏返して」裏側を見ると、同じ長い遅延が発生します。
その理由は、ビューの複雑さと関係があると思います。以下のスクリーンショットでわかるように、これはコレクション ビューであり、背景があり、一部のサブビューが回転しています ( UIViewEdgeAntialiasingがオンになっています)。
Instruments の Time Profiler を使用して何が起こっているのかを調べましたが、行き詰まりました。
「Hide System Libraries」の選択を解除しない限り、有用なものは何も表示されません。
メソッド名を見ると、自動レイアウトに関係していると思います。これは、セグエ中に何かをレンダリングしようとしていることを示唆しています。ただし、 などのメソッドcellForItemAtIndexPath
は呼び出されません。
この問題がまったく発生しないこのアプリの iPhone バージョンもあります。コレクションビューの代わりにテーブルビューを使用します。また、背景と回転した写真もあります。
シミュレーターを使用してこれらの測定を行いました。私の iPad Mini では状況はさらに悪い。アニメーションが始まるまでに最大 20 秒かかる場合があります。
更新 - あなたの答えのおかげで私が試したこと:
- オフ
UIViewEdgeAntialiasing
: パフォーマンスへの影響なし