アプリの起動時間を最適化しようとしたときに、iPhone 6s で必要なプリメイン時間が実際には iPhone 6 plus (ウォーム起動) よりもはるかに長いという興味深い事実を発見しました。
iPhone 6 plus では、次のように表示されます。
Total pre-main time: 241.93 milliseconds (100.0%)
dylib loading time: 74.81 milliseconds (30.9%)
rebase/binding time: 15.96 milliseconds (6.6%)
ObjC setup time: 23.67 milliseconds (9.7%)
initializer time: 127.31 milliseconds (52.6%)
slowest intializers :
libSystem.B.dylib : 7.21 milliseconds (2.9%)
libBacktraceRecording.dylib : 5.97 milliseconds (2.4%)
AirshipKit : 5.17 milliseconds (2.1%)
My App : 199.60 milliseconds (82.5%)
ただし、iPhone 6s では、時間が 3 倍になりました。
Total pre-main time: 891.80 milliseconds (100.0%)
dylib loading time: 680.36 milliseconds (76.2%)
rebase/binding time: 59.18 milliseconds (6.6%)
ObjC setup time: 42.74 milliseconds (4.7%)
initializer time: 109.43 milliseconds (12.2%)
slowest intializers :
libSystem.B.dylib : 7.36 milliseconds (0.8%)
My App : 147.96 milliseconds (16.5%)
どちらも同じシステム (iOS 10.3) で実行されています。iPhone 6s は 6 plus よりも大きな RAM と優れた CPU を備えていると思います。しかし、プリメインタスクを完了するのに実際に時間がかかる理由がわかりません。
誰かヒントを教えてくれませんか?ありがとう!
PS: 何度か試しました。