【问题标题】:Android - How to handle AsyncTask timeouts?Android - 如何处理 AsyncTask 超时?
【发布时间】:2011-11-17 21:31:01
【问题描述】:

在我的应用程序中,我使用AsyncTask 类建立 HTTP 连接并下载要显示的信息。

有时,数据量很大并且需要一些时间。如果用户和他们的手机碰巧处于接收缓慢/差/参差不齐的地方,则可能会出现 HTTP 超时,或者他们可能会一起失去连接,等等...

优雅地处理这些超时的最佳方法是什么?

我一直在尝试创建一个 Runnable 处理程序,该处理程序在启动 AsyncTask 后运行 XX 秒。 Runnable 将简单地测试AsyncTask 是否仍在运行,如果是,则假设数据连接太慢并继续终止线程并优雅地给出有关数据连接的错误消息。

这是一个好方法还是有更实用的方法?

【问题讨论】:

    标签: java android android-asynctask


    【解决方案1】:

    我已经有一段时间没有为 Android 编程了,但我知道 AsyncTask 有一个更新事件(用于跟踪下载百分比等)。您可能可以使用它来检查自己。

    【讨论】:

    • 这只适用于你知道你正在做的事情有多少次迭代的情况。就我而言,我正在从网页下载一堆内容。确实没有一种简单的方法可以遍历该过程(除了可能提前从 HTTP 标头中确定内容大小或类似的东西......)。
    • 我不敢相信这么差的anwer竟然拿到了绿标哈哈!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多