スプラッシュ画像のdefault.png画像の標準時間(3秒)を短縮することはできますか?
私の意図は、1.5秒に設定することです。
スプラッシュ スクリーンを表示する標準的な時間はありません。アプリケーションの読み込みが完了し、最初の画面を表示する準備が整うとすぐに表示されなくなります。
その時間を短縮するには、アプリケーションの読み込み時間を最適化する必要があります (たとえば、負荷の高い計算/リソースの読み込みをバックグラウンド スレッドに移動する、遅延読み込みを使用するなど)。
1) 最初のビューが viewDidAppear を受け取るまで、すべての処理を延期します。
2) ローダーの起動に時間がかかるため、リンクするライブラリとフレームワークの数を減らします。
3) WWDC 2012 セッション ビデオをご覧ください。このトピックは、Instruments トークの 1 つで詳細に取り上げられました (私は聴衆の中にいました)。他に何もない場合、セッションでは、起動中に何が起こっているかを正確に監視する方法を示します.
「標準時」はありません。表示されている時間は、applicationDidFinishLaunching
完了までの時間です。
より安く表示したい場合は、そのメソッドの読み込みを最適化またはオフセットします。
の実行中にスプラッシュスクリーンが表示さapplicationDidFinishLaunching
れます。applicationDidFinishLaunching
次のように、from と呼ばれるバックグラウンド メソッドでアプリを初期化してみてください。
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(initApplication:) userInfo:nil repeats:NO];
return YES;
}
-(void)initApplication {
...
}
ただし、アプリのグラフィックを初期化する前に黒い画面が表示される場合があります。
たとえば、UITabBarController の一連のビュー コントローラーを初期化する場合は、これらのビュー コントローラーの大量の初期化をメソッドviewDidLoad:
の代わりに延期することをお勧めしinit:
ます。このようにして、メモリに割り当てて初期化する必要があるものは、View Controller が必要になるまで読み込まれません。