社区
Android
帖子详情
Handler.sendMessage()被阻塞
a220315410
2011-08-01 02:35:36
最近写一个传输工具的时候,遇到一个奇怪的问题:
接收端通过socket读数据的时候,每读到512字节的数据以后,都会去刷新UI。
刷新UI就用到了Hander.sendMessage()函数,传输小文件的时候,没有什么问题。但是换成大文件就有麻烦了,我传输到100M以上的时候,遇到了一个奇怪的问题,Handler.sendMessage()函数被阻塞了,请问各位大侠,这个问题怎么处理?
...全文
631
3
打赏
收藏
Handler.sendMessage()被阻塞
最近写一个传输工具的时候,遇到一个奇怪的问题: 接收端通过socket读数据的时候,每读到512字节的数据以后,都会去刷新UI。 刷新UI就用到了Hander.sendMessage()函数,传输小文件的时候,没有什么问题。但是换成大文件就有麻烦了,我传输到100M以上的时候,遇到了一个奇怪的问题,Handler.sendMessage()函数被阻塞了,请问各位大侠,这个问题怎么处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a220315410
2011-08-03
打赏
举报
回复
修改了一下,发送message的频率,暂时缓解了这个问题,等下次再遇到的时候,我再来解吧。
a220315410
2011-08-01
打赏
举报
回复
是的,每接收/发送一个文件,就开一条子线程。
dinjay
2011-08-01
打赏
举报
回复
你socket肯定是在子线程中做的吧?不然读大文件肯定是ANR了。
Handler
总结
每个线程最多只有一个Lopper,也最多只能有一个...
Handler
,Message,looper 和 MessageQueue 构成了安卓的消息机制,
handler
创建后可以通过
sendMessage
将消息加入消息队列,然后 looper不断的将消息从 MessageQ
Android
handler
详解(面试必问)
Handler
为Android提供了一种异步消息处理机制,当向消息队列中发送消息 (
sendMessage
)后就立即返回,而从消息队列中读取消息时会
阻塞
,其中从消息队列中读取消息时会执行
Handler
中的public void handleMessage...
浅谈Android中线程池的管理
Handler
其实就是一个处理者,或者说一个发送者,它会把消息发送给消息队列,也就是Looper,然后在一个无限循环队列中进行取出消息的操作 mMy
Handler
.
sendMessage
(mMessage); 这句话就是我耗时操作处理完了,我发送...
Handler
.
sendMessage
()与
Handler
.post() & 子线程更新UI
Handler
.post方法可以实现在子线程中更新UI的操作,比如: public class TestActivity extends AppCompatActivity { private
Handler
handler
; private Button button; @Override protected void onCreate...
Handler
进阶之
sendMessage
原理探索
Handler
进阶之
sendMessage
本文主要进一步的探索
Handler
,主要介绍下
Handler
是如何发送消息的? 用过
Handler
的想必对一下几个方法都不会陌生:
sendMessage
(Message msg);//立刻发送消息 ...
Android
80,351
社区成员
91,288
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章