我需要编写一个后台进程,从GPS读取并发送到远程服务器。
我找到了虚拟类,服务,异步任务。哪个是用于实现即使我关闭应用程序也能工作的任务的最佳解决方案?
关闭应用程序?如果你扼杀了这个过程,没有人会活下来。
AsyncTask
附加到进程(主线程),基本上是从主线程生成的后台线程。但话虽如此,onPostExecute()
在主 UI 线程上运行,而doInBackground()
在后台线程中运行,因此它将运行直到完成或 JVM 进程被杀死以释放内存。通常AsyncTask
用于小型网络操作。
在您的情况下,如果您想要一些长时间运行的后台任务或即使用户未使用该应用程序也需要运行的内容,我建议您使用Service
。
这对你来说应该是一个好的开始:https://developer.android.com/training/run-background-service/create-service.html