【发布时间】:2011-10-25 22:26:18
【问题描述】:
我正在构建一个应用程序,它在初始屏幕中通过在线 URL 从文件加载数据。此应用目前正在运行、已发布并获得好评:)
然而,我注意到在某些设备(即 HTC Desire)上,当我实例化一个 URL 时,可以这样说:
url = new URL("https://www.blah.com/blah.txt");
URL 将挂在那里,并且启动画面将无限加载。我尝试将它放入它自己的线程并在发生这种情况时抛出超时,但似乎它甚至锁定了它,因为超时永远不会从父线程的等待函数中捕获。
现在,正如我所说,这似乎只适用于 HTC Desire,因为大多数设备都在顺利使用我的应用程序。并且它不会发生在每个带有应用程序的 HTC Desire 上。有问题的设备似乎偶尔出现。有时应用程序会正常运行,有时会无限加载。当它发生时,它会发生在 WiFi 和 3G 上。如果用户在应用程序无限挂起时将其终止,然后重新打开,它会解决问题并正常加载。
我在这里没有想法......有人有吗?我唯一能想到的就是尝试不同的构造函数,也许像:
url = new URL("https", "www.blah.com", 443, "/blah.txt");
但我不太精通网络,并且无法确定要使用的其他端口。我使用的网站是“https”网站。
提前感谢您的帮助。
【问题讨论】:
-
它们是否通过某种代理运行?你的样本量是多少?您在 1 部或 20 部 HTC Desire 手机上看到过这种情况吗?