2014-11-24 143 views
0

我的问题很简单。什么方法可用于在后台执行任务

有什么不同的方法可用于在后台执行任务,以及对他们有什么优点和缺点?

我在其他过程中使用了一些像Thread,AsyncTask,TimerTask,Serivce,Service但我不知道他们的优点和缺点。

+0

[背景工作的最佳实践](https://developer.android.com/training/best-background.html) – Gattsu 2014-11-24 14:01:42

+0

谢谢,但从我可以看到,该链接不包含有关线程的任何信息, AsyncTask,你有什么,或者他们的优点和缺点。 – 2014-11-24 14:17:29

回答

1

对于小任务使用AsyncTasks。如果您想定期执行某些操作(例如每x秒检查一次更新),请使用后台服务(后台服务即使在您关闭应用程序时也可以运行,但不必)。

看这里,这对Asynctasks和线程很好的解释和教程: http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html

+0

谢谢!该网站还解释了一些方法的缺点。只是我一直在寻找:) – 2014-11-25 18:25:33

0

AsyncTask - 可为在后台完成简单的任务。通常用“Fire and Forget”思维启动一个新线程。

Thread - 适用于有几个步骤的过程,或需要在后台永远运行。

TimerTask - 对于需要在基于时间的时间表上执行的任务很有用。

Android Service - 这些共享应用程序的主线程。服务基本上是一个没有布局的活动。用于在应用程序或活动的整个生命周期中在后台运行进程,但需要为繁重的任务生成自己的线程。

相关问题