- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的应用程序中有一个 UIWebView
,
-(void)viewDidLaod{
NSURL *url = [NSURL URLWithString:@"some url string"];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:30.0];
myWbView.delegate = self;
[myWebView loadRequest:request];
if ([timer isValid]) {
[timer invalidate];
}else{
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(addSec:) userInfo:nil repeats:YES];
//counting seconds
}
-(void)webViewDidFinishLoad:(UIWebView *)webView{
if (webView.isloading){
NSLog(@"LOADING");//it takes 5-8 seconds in average keep logging this
}else{
NSLog(@"FINISH");//since the request started,8-15 seconds later this is logged out
}
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
NSLog(@"LOAD FAIL: %@",error);
}
这是 webpage 我正在尝试加载,我将 webview Controller 放在 pageViewController
中,每次我滑动到下一页时,都会启动一个新的加载请求。
(当刷出 View 解除分配时,我会停止任何未完成的加载,所以它不会阻塞网络)
有时我会收到一些错误消息,例如:
作为应用程序开发的新手,我完全不知道我的代码有什么问题,是某个线程卡住了还是使用 JavaScript/HTML5 的网页影响了速度?
我研究过使用 webview 加载内容页面的 Flipboard 应用程序(iOS7 版本),它会在用户点击任何帖子后立即响应。即使 UIWebView
的加载速度通常很慢,也可以实现更快的性能。
如果我应该知道任何建议的指南链接/背景知识,我们将不胜感激。
PS: 由于另一个更好的东西 WKWebView
仅在 iOS8 及更高版本中受支持(在我的应用程序中,WKWebView
的加载速度与 UIWebView
相同,但在 HTML5 test site 时得分更高),我仍然需要 iOS7 的 UIWebView。
最佳答案
好吧,您打印的错误的 NSLocalizedDescription
说明了发生了什么:“HTTP 重定向过多。”
当您尝试访问网页时,服务器不会为您提供您尝试访问的页面,而是会回复一个重定向——一个您应该访问的不同页面的地址。例如,访问缩短的链接通常会将您重定向到真实页面;受密码保护的网站可能会将您重定向到登录页面;或者经过重新设计的网站可能会将旧地址重定向到新位置。
但是,如果实现不当,此功能可能会因无限重定向而最终锁定浏览器:例如,想象一下如果 www.example.com/a
将您重定向到 www .example.com/b
和 www.example.com/b
将您重定向回 www.example.com/a
。因此,浏览器对它们将遵循的重定向数量施加了限制——通常大约为 10 或 15——以避免陷入此类循环。
您收到的错误意味着,出于某种原因,访问该页面会导致您的浏览器连续多次重定向——次数太多以至于它只是假设一定有问题并放弃了。
坐在这里,没有要检查的应用程序副本,我不能告诉你这些重定向是什么,更不用说为什么要发布它们了,但你至少可以使用 Safari Web Inspector 回答第一个问题。您可以在 Safari 的“开发”菜单中找到它,该菜单可以在 Safari 首选项中启用;该菜单中有一些选项可以检查 iOS 设备或模拟器中的网页。您可能还需要在设备或模拟器的 Safari 设置中打开 Web Inspector 选项。
Web Inspector 的时间轴工具可以告诉您发送了哪些重定向。一旦您了解了这一点,您就可以弄清楚为什么它正在做它正在做的事情,甚至可以调整您的应用程序来解决这个问题。 (例如,您的 UIWebView 使用的用户代理字符串可能会混淆所涉及的服务器。不过,这完全是猜测,所以不要假设这就是这里发生的事情。)
关于iOS UIWebView loadRequest 耗时太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118014/
我在我的 UIPath 项目中实现了一个普通的“for each”循环(不是每行特定的 excel)。 for-each 循环使用以前从 excel 文件中检索到的数据查看数据表。 然后,for-ea
我认为我的 SQL 查询花费的时间太长,现在看起来大约需要 30 秒。我有两个表,Record 和 Mainrecord。我想获取有关列金额中包含 0 的所有 Mainrecords 的信息,并且在这
这个编辑器是水平的http://tinymce.moxiecode.com/examples/simple.php我似乎只找到水平编辑器,有人遇到过垂直编辑器吗?有什么例子吗? build 需要多长时
我想创建一个跟踪任务时间的 ASP.NET WinForms 应用程序。我需要能够编写表单,以便将任务添加到数据库、在新选项卡中打开它,以及能够开始、暂停和停止任务。完成后,我需要计算完成任务所需的时
抱歉,我是 C 的新手。但我做错了什么?几乎尝试了一切,但仍然无法计算执行 t1 和 t2 之间的代码所传递的秒数,总是返回我在 0.00 秒内完成。感谢您的耐心等待:) #include cloc
我有 2 个简单的函数(在一个范围内循环)可以单独运行而没有任何依赖性。我正在尝试使用 Python 多处理模块和多线程模块来运行这 2 个函数。 当我比较输出时,我看到多进程应用程序比多线程模块多花
尝试记录使用装饰器运行函数所需的时间,但我误解了一些东西。它拒绝写登录装饰器。 当你颠倒装饰器的顺序时,它会导致模板上的构建错误(就像信息丢失一样)。 在我的初始 py 中: if app.debug
我听说 System.out.println(); Java 语句是昂贵的(它消耗了很多时间) 所以我试着评估一下它的成本: 当我评估 5 个语句时...成本 = 1.0 所以我预计 1 条语句的成本
我正在使用 codeigniter REST-API(作者:philsturgeon 引用 URL: https://github.com/philsturgeon/codeigniter-rests
我在 SFML 中有一个时钟和计时器,它测量秒数。我试图在经过一定秒数(特别是 4 秒)后执行下一个操作 这是我的代码 #include "stdafx.h" #include "Splash
例如,我们在 SomeActivity 中,该 Activity 有一个按钮,用于调用将文件从一个目录移动到另一个目录(我们称之为作业)。 在黑莓手机上我会: 推送一个不可取消的弹出窗口(对话框屏幕)
我正在尝试从大小为 7,140,000 的 ArrayList 中删除 140,000 个对象。我预计这会花费几秒钟(如果那样的话),但 Java 每千个对象花费几秒钟。这是我的代码:
我得到了这个查询,它占用了我的 elapsed_time 并且工作正常,但后来我意识到我得到的 actual_elapsed 的值是错误的。 actual_elapsed 是我使用 TIMEDIFF(
我在更新面板中放置了一个 GridView。 当用户按下按钮时,gridView 将被一个数据表填满: GridView_Overview.Da
客户想要将数据库从 MS SQL 转换为 MySql。 就我个人而言,我不会这样做,我更喜欢使用 MS SQL 来处理大型数据库,并且喜欢使用 MSSQL 时可用的工具。 但是我确实在较小的项目上使用
我目前正在为一个 Julia 项目使用 Graph Database,使用 Redis。 有时 Redis 请求需要 300 毫秒才能执行,我不明白为什么。我运行了一个简单的请求 10.000 次(请
我们在一次运行中处理了 500 万个请求。然而,在运行期间,很少有请求失败。验证关闭后,我们了解到 Full GC 已启动,并且花费了超过 40 秒(到 60 秒),从而导致超时。 配置:我们有 3
我是一名优秀的程序员,十分优秀!