警告:关键内部的慢速默认访问需要 xx 秒,容差为 0.020000

Posted

技术标签:

【中文标题】警告:关键内部的慢速默认访问需要 xx 秒,容差为 0.020000【英文标题】:WARNING: Slow defaults access for key Internal took xx seconds, tolerance is 0.020000 【发布时间】:2013-12-31 14:46:57 【问题描述】:

我在使用 phonegap ios 应用时遇到了一个奇怪的问题。我有一个没有广告的版本已获批准并且在应用商店中运行良好,还有一个新版本的广告由于应用程序挂在初始屏幕上而被拒绝。

应用程序的区别在于 3 个广告插件,iAD、admob 和 revmob。该应用程序大部分工作正常,但每隔一段时间它就会像 Apple 的反馈建议的那样挂在启动屏幕上,我找不到导致问题发生的原因。

我唯一的线索是错误控制台中出现“警告:对内部密钥的慢速默认访问耗时 0.039977 秒,容差为 0.020000”,但是当出现这种情况时,应用程序仍然运行良好。

此警告是否可能与闪屏问题有关?任何想法如何解决问题或寻找可能导致问题的原因?

谢谢

【问题讨论】:

确保在应用真正启动之前不要进行任何计算。如果时间过长,应用程序将被操作系统强制崩溃。如果您需要做一些需要几秒钟的事情(例如第一次复制一个大文件),请在 viewDidLoad 之后在您的第一个 VC 中执行(或在 performSelector:afterDelay:.1 调用的方法中的 viewDidLoad 中) 【参考方案1】:

我认为这不是原因,您可能在模拟器上得到了这个,它不如设备高效。

延迟启动 90% 的原因是您在应用代理中执行的操作,更具体地说是在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

避免在那里做冗长的任务,比如网络连接或处理大数据,如果你仍然需要在那里做一些事情并且不能将它移动到你的 viewDidLoad 方法中,请在另一个线程中这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

// Override point for customization after application launch.
[self performSelectorInBackground:@selector(fetchUserInfoFromDB) withObject:nil];


return YES;


-(void)fetchUserInfoFromDB

//Do what you need to do in here
sleep(5);
NSLog(@"The app lanuched but I am still running in the background, Yay!!");


祝你好运

【讨论】:

Ops ,我刚刚注意到 PhoneGap 部分,我认为它会为您生成二进制文件,而您无法控制代码。无论如何,我希望我的回答能帮助其他在使用 xcode 和 Objective c 开发应用程序时遇到这个问题的人

以上是关于警告:关键内部的慢速默认访问需要 xx 秒,容差为 0.020000的主要内容,如果未能解决你的问题,请参考以下文章

使用内部选择慢速 MySQL 连接

使用 SBT 进行慢速编译

java 中 判断两个日期月份的差,后面没有时分秒.比如2013-07-03与2013-09-03 返回值为2

我需要一个慢速 C# 函数

具有错误字符容差的最长公共子串

用简单的程序实现慢速多线程