首次从其活动中启动服务,例如
this.startService(new Intent(this,UpdaterService.class));
此服务是否在新线程中运行? 如果我把大量的工作量放在这个服务上(没有得到线程的帮助),android会显示强制关闭这个应用程序吗?
与Thread类的AsyncTask类有何不同? 哪一个用在哪里?
感谢。
答案 0 :(得分:2)
Android developer manual reads:
Service
不是一个单独的过程。
Service
对象本身没有
意味着它正在运行
处理;除非另有规定,
它运行在与...相同的过程中
应用程序是它的一部分。Service
不是主题。它不是
一个意味着自己做的工作
主线程(避免Application
不
回应错误)。答案 1 :(得分:1)
服务在不同的进程中运行,它只是一个没有用户界面的应用程序。 AsyncTask只是一个帮助程序类,可帮助您在单独的线程上执行某些操作并将其与UI线程同步,例如向用户显示当前进度。您可以在需要此类同步时使用AsyncTask,但通常使用其中任何一个都没有太大区别。希望这会有所帮助。