请原谅我的问题,因为我对编程还是很陌生,所以我不完全理解主线程、异步任务、服务和线程的概念。我正在阅读有关 Android 服务的文档,因为我想在主线程之外执行一些任务。它说:
如果您需要在主线程之外执行工作,但仅在用户与您的应用程序交互时执行,那么您可能应该创建一个新线程而不是服务。
1.他们是说“线程”在您离开应用程序后立即停止(即:主页按钮)?
例如,如果您想播放一些音乐,但仅在您的活动运行时,您可以在 onCreate() 中创建一个线程,在 onStart() 中开始运行它,然后在 onStop() 中停止它。还可以考虑使用 AsyncTask 或 HandlerThread,而不是传统的 Thread 类。有关线程的更多信息,请参阅进程和线程文档。
2.如果线程被烘焙到Java中,为什么android有AsyncTasks?
请记住,如果您确实使用了服务,默认情况下它仍会在应用程序的主线程中运行,因此如果它执行密集或阻塞操作,您仍应在服务中创建一个新线程。
3.这是否基本上意味着,几乎每个服务基本上都会在其中创建一个线程?
4. 在服务内部启动 AsyncTask 会不会不好?