【发布时间】:2017-01-01 11:22:28
【问题描述】:
我要编写一个Android 服务器套接字来连接Windows 客户端。
Thread、Handler 和 Async task 之间哪个最好?
【问题讨论】:
标签: java android multithreading android-asynctask android-handler
我要编写一个Android 服务器套接字来连接Windows 客户端。
Thread、Handler 和 Async task 之间哪个最好?
【问题讨论】:
标签: java android multithreading android-asynctask android-handler
您可以同时使用Thread 或AsyncTask,只需根据您的需要选择两者之一(如果您提供有关您需要执行的任务的更多详细信息,我可能会更具体地为您提供帮助) .
Handler 类不用于运行异步任务(如 Thread 和 AsyncTask),Handler 实例用于允许两个线程之间的通信,例如,如果您决定在AsyncTask 上使用Thread,Handler 类将帮助您在 UIThread 和处理套接字的线程之间进行数据交换。
现在,AsyncTasks 非常适合作为客户工作。如果您需要打开一个服务器套接字,您应该忘记这些并尝试查看Service 并在Service 和Thread 之间进行选择。
为什么?
因为AsyncTask 旨在在相对较短的时间内执行特定的工作。要打开一个服务器,它需要(可能)长时间保持打开状态,这不是您需要的类。
我会看一下Service,因为它提供了一些有用的方法来与 Android 应用程序生命周期进行交互。
【讨论】: