为ios i'开发应用程序;我应该支持快速连接还是慢速连接?

为ios i'开发应用程序;我应该支持快速连接还是慢速连接?,ios,objective-c,performance,Ios,Objective C,Performance,我知道一个奇怪的问题。我正在为ios开发一个应用程序,目标是商业中心的访客。该应用程序提供了一个内部更新系统,使用xml系统,在网络响应缓慢或快速的情况下,由于一长串原因,该系统的工作方式不同。不同之处在于ui的故障类型不同,我只能选择在用户连接速度慢或速度快的情况下具有更好的性能,因为对于我遇到的问题,有两种解决方案(一种用于快速情况下的问题,另一种用于慢速情况下的问题),一种是在另一种情况下存在故障。 在这种情况下,我应该偏爱属于快速或慢速连接的用户,为什么 编辑:我会尽力解释这个问题。我有

我知道一个奇怪的问题。我正在为ios开发一个应用程序,目标是商业中心的访客。该应用程序提供了一个内部更新系统,使用xml系统,在网络响应缓慢或快速的情况下,由于一长串原因,该系统的工作方式不同。不同之处在于ui的故障类型不同,我只能选择在用户连接速度慢或速度快的情况下具有更好的性能,因为对于我遇到的问题,有两种解决方案(一种用于快速情况下的问题,另一种用于慢速情况下的问题),一种是在另一种情况下存在故障。 在这种情况下,我应该偏爱属于快速或慢速连接的用户,为什么

编辑:我会尽力解释这个问题。我有一个视图需要通过xml更新。当我启动视图时,我试图访问xml以控制是否需要进行更新这一简单事实需要时间。我添加了一个活动指示器,但它不能很好地工作,因为网络速度变慢了,显示活动指示器似乎需要更多的时间,结果用户不得不花时间认为应用程序被冻结了,尝试触摸他没有触摸的按钮(这将不起作用,使他认为应用程序不起作用)等等。因此,我使用performSelectorInBackground以尽可能快地添加活动指示器,它在慢速连接情况下工作良好。在快速连接的情况下,活动显示得如此之快,以至于即使由于连接速度的原因必须进行更新的控件几乎不需要花费时间,也会出现活动,导致它显示活动指示器一皮秒,从而产生一种可怕的图形效果,需要避免。为了避免快速案例中的问题,我添加了一个

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.000001 * NSEC_PER_SEC), dispatch_get_current_queue(), ^{ code to add the activity indicator; });

通过这种方式,我不存在快速情况下的图形问题,但在慢速情况下,在(我猜)过多地降低活动指示器的显示速度后执行调度_会造成应用程序冻结的印象。因此,我束手无策,不知道我更喜欢什么。

您可以确定用户的连接类型(Edge/3G或Wi-Fi),并为每种类型的连接执行不同的方法。示例代码。通常,wi-fi更快更便宜,因此您可以为其提供“快速代码”

还有,我还是不知道你在说什么。表演?如果没有一些细节,很难给出适当的建议,但是:

1) 你可以在后台下载需要的东西

2) 如果是关于包含图像/视频/音乐的菜单,请从带有标题的下载列表开始,然后下载媒体文件。(就像android market在慢速连接上所做的那样)

编辑: 首先,不要混淆视图和网络任务。所有下载都应该在ViewController之外的另一个线程中完成。
您可以每N分钟下载一次新的XML(或者在请求中修改时使用),并在用户下次尝试查看视图时显示它。您多久获得一次新的XML?这很重要,也许您可以避免在使用UI绘图的同时下载它。祝你好运

您可以确定用户的连接类型(Edge/3G或Wi-Fi),并为每种类型的连接执行不同的方法。示例代码。通常,wi-fi更快更便宜,因此您可以为其提供“快速代码”

还有,我还是不知道你在说什么。表演?如果没有一些细节,很难给出适当的建议,但是:

1) 你可以在后台下载需要的东西

2) 如果是关于包含图像/视频/音乐的菜单,请从带有标题的下载列表开始,然后下载媒体文件。(就像android market在慢速连接上所做的那样)

编辑: 首先,不要混淆视图和网络任务。所有下载都应该在ViewController之外的另一个线程中完成。
您可以每N分钟下载一次新的XML(或者在请求中修改时使用),并在用户下次尝试查看视图时显示它。您多久获得一次新的XML?这很重要,也许您可以避免在使用UI绘图的同时下载它。祝你好运

由于目标客户是商业中心的访客,因此您应始终使用快速连接,以提供更好的用户体验。。用户不喜欢在设备上有加载屏幕的情况下等待很长时间。。但是,您还应该解决负面情况,即连接速度慢。您需要根据需要确定一个优化的时间,以便只显示该特定时间的加载屏幕,如果连接速度慢,您可以通过“重试”消息终止连接。

因为目标是商业中心的访客,您应该始终使用快速连接,以提供更好的用户体验。。用户不喜欢在设备上有加载屏幕的情况下等待很长时间。。但是,您还应该解决负面情况,即连接速度慢。您需要根据需要确定一个优化的时间,这样您就只需要显示该特定时间的加载屏幕,如果连接速度慢,您可以通过“重试”消息终止连接。

我完全不理解这个问题,他们的连接速度慢还是快应该无关紧要。如果他们需要下载并处理某个内容,你会显示一个活动指示器,并阻止他们触摸应用程序,直到完成为止。为什么slow v fast的情况会有所不同?如果您以这种方式支持慢速连接,那么您可以同时获得快速和慢速连接用户,并且性能会得到兼顾。相反,如果你只为快速连接优化你的应用程序,那么你肯定会失去慢速连接用户。因此,为慢速连接优化你的应用程序肯定会更好。希望你们能理解。即使是gmail冻结了慢速连接,我也在猜测一个专业程序员是否有充分的理由不去关心那些连接缓慢的用户……我不明白