AsyncTask的替代方案,用于将数据广泛发送到PC / Server

时间:2015-08-29 18:39:39

标签: android multithreading

我编写的android应用程序使用AsyncTask广泛地向PC / Server发送小块数据。有用。但是如果我旋转我的设备,我最终会遇到悬空的异步任务,并且出于某种原因甚至没有启动新的异步任务(我是Java / android开发的新手)。

我在onCreate期间执行我的异步任务。 问题1 :为什么在设备轮换后第二次没有启动异步任务?

我已经了解到AsyncTask不适合我的后台任务,它主要用于短期任务。 问题2 :但是如果我想要后台任务,我应该使用什么:1。设置连接(打开套接字!)2。等待来自用户的数据(数据由用户通过与之交互生成UI)并立即发送数据(并且数据块非常小)。我需要避免输入滞后,因此解决方案必须轻巧高效。

另外,由于我是新手,我不想使用任何外部库......

1 个答案:

答案 0 :(得分:1)

使用IntentService作为替代方法或为长操作创建服务的子类。 它比AsyncTasks有许多优点,可以多次调用。 虽然它不直接与UI交互,但在BroadcastReceiver的帮助下,您将受到覆盖。

在这里阅读更多;

https://developer.android.com/training/run-background-service/create-service.html