欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

android handler 主线程吗,[android开发]非主线程进行handler操作

发布时间:2025/3/20 编程问答 69 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android handler 主线程吗,[android开发]非主线程进行handler操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

[android开发]非主线程进行handler操作

(2012-10-30 16:26:01)

标签:

杂谈

android默认对主线程创建有消息队列及looper(looper是对消息队列的操作类),但是如果对于非主线程则无法创建handler来操作。android会报错不能在非主线程创建handler。但是某些情况下又非要如此不可,该怎么操作呢?

最近做unity工程,给unity添加android支付插件,里面有用到handler导致程序一直无法正常运行,总是报类创建失败,同时unity工程非常大,build一次需要半小时左右,调试运行代价之高无法想象。还是想象下吧:打一条log花去20s,然后build半个小时,安装运行10分钟,一个小时轻易去了,只是打了条log看下而已。我晕。还是把消耗时间的资源都去了再调试吧。

逐条排查后终于找到是new

handler()出错了,百思不得其解。终于在论坛里看到了第一段中的结论。可是网上没有给完整的解决方法,只是说在new

handler()前要加Looper.prepare(),之后加Looper.loop();再就是大堆理论。能力不足,只好尝试,但是一加代码卡住了,因为源码中Looper.loop()就是一个死循环。最后只需要在Looper.loop()后添加looper.quit()就ok了。

水文以记之,一条代码搞三天呀,急需补充基础知识。

分享:

喜欢

0

赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的android handler 主线程吗,[android开发]非主线程进行handler操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。