ご存知の通り、iOSとはiPhoneオペレーティングシステムのことで、Appleのすべてのモバイルデバイスで動作します。AppleのiOSプラットフォーム上で動作し、iPhone、iPad、iPod向けに設計されたプログラムです。
世界中の顧客はアプリがスムーズに動作することを望んでいます。そのため、アプリの速度はユーザーエクスペリエンスに大きな影響を与えます。起動に時間がかかったり、入力への反応が遅かったりすると、アプリは非効率的、あるいは反応がないとユーザーに思われるかもしれません。アプリから大量のネットワークリクエストが頻繁に送信されると、ユーザーのデータ通信料が増加し、スマートフォンのバッテリーが消耗し、アプリを削除してしまうほどのストレスを感じる可能性があります。

iPhone でアプリのパフォーマンスを最適化する方法は次のとおりです。
ビュー数と透明ビューを削減する
透過表示を防ぎながらビューの数を制限することで、アプリケーションの効率が向上します。透過表示の重なりを素早く特定できる非常に便利なテクニックがあります。「デバッグ」→「ビューのデバッグ」→「レンダリング」→「カラーブレンドレイヤー」です。
関数内で実行される作業量を削減する
scrollViewDidScroll や cellForItemAt indexPath などの関数は頻繁に呼び出されるため、非常に高速である必要があります。
常に非常に軽量な「最も単純な」ビューとセル、およびセットアップ メソッドを使用するようにしてください。たとえば、オブジェクトの割り当てやレイアウトの制限はありません。
アプリの権限を制限してパフォーマンスを最適化することもできます。例えば、GBWhatsAppでは位置情報、カメラ、その他の機能の権限を制限してパフォーマンスを最適化できます。
JPEG画像のデコード
画像のデコードは、フレーム落ちの問題に直面した際に「いつもの容疑者」の一つです。通常、imageViewsはこのタスクをメインスレッドで目に見えない形で実行します。しかし、写真のサイズが大きい場合、アプリの動作が常に遅くなる可能性があります。この問題を軽減するには、デコードジョブをバックグラウンドスレッドに移動する必要があります。この方法では、UIImageViewの標準的なデコードほど効率的ではありませんが、メインスレッドは解放されます。
キャッシュをクリアすると、iPhone上のアプリのパフォーマンスも最適化されます。例えば、KineMasterはリソースを大量に消費するアプリですが、キャッシュをクリアするとアプリのパフォーマンスが最適化されます。
オフスクリーンレンダリング
このようなアイテムは提示前に準備する必要があるため、UI アイテムの特定の特性を処理するときにオフスクリーン レンダリングの問題が発生する可能性があり、CPU と GPU の使用率が大幅に増加します。
もう 1 つの便利なツールは、[デバッグ] -> [デバッグの表示] -> [レンダリング] -> [カラー オフスクリーン レンダリング イエロー] です。
このツールを使用すると、コンポーネントの「重さ」に応じて黄色または赤で強調表示されるため、それらのコンポーネントをすぐに識別できます。
その他の提案
他に留意すべき一般的なヒントは次のとおりです。
- テキスト内の測定値(boudingRectWithSize)は非常に大きくなる可能性があります。必要がない限り使用を避けてください。
- 特に自動レイアウトを使用しており、古いデバイスをサポートする必要がある場合は、階層構造を常に再確認してください。
- 可能な限り、タスクをバックグラウンドキューに入れてください。ただし、メモリアラートには注意してください。