欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > Android HandlerThread泄漏FD问题

Android HandlerThread泄漏FD问题

2025/9/24 12:14:28 来源:https://blog.csdn.net/CHALLENG_EVERYTHING/article/details/140953219  浏览:    关键词:Android HandlerThread泄漏FD问题

        平时我们在Android中使用Handler,一般都是需要将Handler绑定到某个Looper上。

        而Looper一般是在LooperThread中的,我们一般这样获取Looper:

{Looper looper1 = Looper.getMainLooper();   // 获取进程主线程上的Looper// 获取用户创建HandlerThread上的LooperHandlerThread handlerThread = new HandlerThread("workThd");Looper looper2 = new Looper(handlerThread.getLooper();
}

         当使用第二种方式获取Looper时,因为Looper是在用户创建的LooperThread中,其中是包含了EventFd的,如果该LooperThread没有正确的结束并且释放资源,则会造成Fd泄漏。

        在结束HandlerThread时,需要手动调用quitSafely来退出并且释放线程资源:

{HandlerThread handlerThread = new HandlerThread("workThread");Looper looper1 = new Looper(handlerThread);........looper1.quitSafely();
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词