私は開発中のiOSアプリケーション用にいくつかのコードを用意しています。何らかの理由ですばやく簡単なタスクのように思えるものは、毎回iPhone 4Sを十分に2番目以上にする必要があります。なぜUIAlertViewのインスタンス化に時間がかかりますか?
コンテキストはこれです...私は2ボタンのActionSheetポップアップを持っています。ユーザーがいずれかのボタンをタップすると、アプリケーションは約1秒間ストールしているようです。 (最初のボタンが同じように動作しますが)、ログは次のようになります
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
UIAlertView* newTimerAlertView = [[[UIAlertView alloc] initWithTitle:@"Create New Timer"
message:@"Enter a name for your new indicator"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Create", nil] autorelease];
newTimerAlertView.tag = kNewTimer;
newTimerAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[newTimerAlertView show];
}
else if (buttonIndex == 1)
{
NSLog(@"ActionSheet button 2 tapped");
UIAlertView* newTallyAlertView = [[[UIAlertView alloc] initWithTitle:@"Create New Tally"
message:@"Enter a name for your new indicator"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Create", nil] autorelease];
newTallyAlertView.tag = kNewTally;
newTallyAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[newTallyAlertView show];
NSLog(@"end");
}
}
簡単にするために第二のボタンを中心に:ここでは、コードです
2012-01-25 20:35:46.330 ...[177:707] ActionSheet button 2 tapped
2012-01-25 20:35:47.194 ...[177:707] end
2012-01-25 20:35:56.154 ...[177:707] ActionSheet button 2 tapped
2012-01-25 20:35:56.180 ...[177:707] end
ていることに注意してください、私はそれを試して初めてコードスニペットの実行が終了する前に2秒以上経過しますが、2回目以降のコードでは30ミリ秒かかります。
コードに何か問題がありますか?または単に進捗状況ビューで遅延を補う必要がありますか?
ありがとうございます!
編集:これは、Xcodeからアプリを実行しているときにデバイスでのみ発生します...おそらくデバッガと関係がありますか?
を延期することができること、そしてちょうどいくつかの 'NSTimeInterval'のアイバーズを使用して、後でそれらをログに記録します。何かのように: 'startSecond = [NSDate timeIntervalSinceReferenceDate];'。 NSLogはパフォーマンスの問題を引き起こすことが知られています。 – NJones