我已在我的应用中实施了Flurry Analytics,按照说明将代码放入:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
CFAbsoluteTime start_flurry = CFAbsoluteTimeGetCurrent();
[Flurry startSession:@"app-key"];
CFAbsoluteTime end_flurry = CFAbsoluteTimeGetCurrent();
NSLog(@"Time for starting Flurry: %2.5f seconds", end_flurry-start_flurry);
return YES;
}
我注意到启动时间非常慢,所以我使用CFAbsoluteTime计时它并显示4秒启动Flurry。这阻止了我的应用程序加载界面,真的很令人沮丧。
代码中是否还有其他地方我可以使用这个'startSession'代码来允许我的接口首先加载?
由于
编辑:
我把它放在后台队列中(我想!),就像这样:
像这样:dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
CFAbsoluteTime start_flurry = CFAbsoluteTimeGetCurrent();
[Flurry setCrashReportingEnabled:NO];
[Flurry startSession:@"HYKYDWTY6CQK2X9D3W9D"];
CFAbsoluteTime end_flurry = CFAbsoluteTimeGetCurrent();
NSLog(@"Time for starting Flurry: %2.5f seconds", end_flurry-start_flurry);
});
这是正确的方法吗?
答案 0 :(得分:1)
正如我在编辑过的问题中所提到的,我已经通过将其加载到后台线程来解决这个问题。