我有一个与系统停止时 Android 服务的行为有关的问题。据我了解,如果系统(OS)由于需要资源而停止服务,系统有责任重新启动它。在这种情况下,系统在停止服务时不会调用 onDestroy(),在启动服务时不会调用 onCreate(),而只会调用 onStartCommand()。
如果我在 onStartCommand() 中创建一个线程,当系统停止服务时我将如何清理线程。如果我不停止线程, onStartCommand() 将创建一个新线程。我认为,它可能归结为 onStartCommand() 参数(意图、标志和 startId)。当系统在停止服务后启动服务时,它们可能会有所不同,因为它需要资源。谁能告诉我当服务由 startService() 命令或系统本身启动时(停止后)参数有什么不同
我可以在 onCreate() 中创建线程,但我不确定系统停止服务时线程是否仍然存在。处理这种情况的最佳方法是什么。
谢谢