我有一个服务,我有一个HandlerThread,我在Service.onDestroy中实例化一个本地C库,它是线程绑定的,我需要释放库,但我需要在处理程序线程上执行它。是否在onDestroy中向处理程序安全发布消息?我还需要退出线程。
override fun onDestroy() {
super.onDestroy()
handler.obtainMessage(ServiceHandler.MSG_CLOSE).sendToTarget()
handlerThread.quitSafely()
}
或者我不应该在这里调用super,并从msg_close回调中调用它,并且还退出那里的handletraread?
这确实有效,但是我觉得在onDestroy中发布东西很奇怪,我在技术上创建了泄漏?是否保证可以运行(因为本机库需要随时发布)?