我通过让某些用户操作调用应用程序不执行任何操作的几乎为空的网页来跟踪我的iPhone应用程序中的用户活动。相反,附加到URL的是一些查询字符串参数,告诉我谁在做什么以及它是什么(在我分析日志之后,就是这样)。
我不想启动URL来减慢应用程序的速度,所以我不想等待任何响应。因此,在获得一堆设备信息和用户操作信息并将其附加到查询字符串后,我调用:
NSURLRequest *oRequest = [NSURLRequest requestWithURL: oURL cachePolicy: (etc) timeoutInterval: 2.0];
NSURLConnection *oConnection = [[NSURLConnection alloc] initWithRequest:oRequest delegate: self];
这是创建Web日志条目的最快方式,同时至少阻碍了我的应用程序吗?
答案 0 :(得分:2)
您可以将请求包装在选择器中并调用-performSelectorInBackground:withObject:
,将请求置于后台。或者在一次性NSInvocationOperation
内做同样的事情。
这不会加快手机与服务器之间的通信速度,但它会将请求放在后台线程上,这样您的应用程序用户就可以继续做任何她无所不在的事情。