【问题标题】:Android: I have a form in my application. Do I use normal thread or service to upload form informationAndroid:我的应用程序中有一个表单。我是否使用普通线程或服务来上传表单信息
【发布时间】:2016-01-23 18:15:22
【问题描述】:

我对正常的线程和服务感到困惑。我正在做一个表单应用程序,它在每个活动中向服务器发送数据。部分地区可能需要上传图片。

如果我使用普通线程将数据发送到服务器,同时我可能会在屏幕上显示一个进度条。在上传期间,用户可能会决定在返回到应用程序的相同形式之前执行其他操作。当用户在手机处于低内存状态时关闭使用其他应用程序时,活动是否会被破坏?如果是这样,我的应用程序的活动将在它回到前台时重新创建。然后应该在上传时可见的进度条将消失。

还是我走错了方向。

【问题讨论】:

    标签: android multithreading forms uploading


    【解决方案1】:

    在您的情况下(表单提交)Asynctask 似乎是一个更好的候选人。 Asynctask 是具有生命周期的复杂线程版本。生命周期方法在显示进度条等任务中很有用。

    应避免在 Android 中使用线程以支持异步任务。

    但是,如果它是一个长期运行的服务,则推荐方式。

    还有一个look here

    【讨论】:

    • 我使用 volley 来做网络,所以我还需要 Asynctask... 我想我会使用服务来上传图片因为我不知道上传需要多长时间
    • 是的,要上传大数据,您应该使用服务。 volley 在内部进行线程处理,因此您无需使用 thread 或 asynctask
    • 服务结束时,在该服务内部运行的线程是否也会停止或继续运行。
    • 服务结束时该线程将停止。无论如何你不需要关心线程。
    • stackoverflow 中有些人说 Service 应该用于长期运行的任务,例如播放音乐或监控数据更改等。这句话让我感到困惑。如果我自己使用凌空而不发球,会不会有什么劣势。
    猜你喜欢
    • 2011-07-26
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多