Android无限URL加载



我正在构建一个应用程序,在启动屏幕中,通过在线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"网站。

提前感谢您的帮助

可以在URLConnection对象上设置与setConnectTimeout()的连接超时时间。这将允许您捕获SocketTimeoutException,然后重试或执行其他操作。

相关内容

  • 没有找到相关文章

最新更新