Android Studio 多线程之 ExecutorService 循环执行问题

本文介绍了一个项目案例:通过USB OTG不断从嵌入式设备获取数据。作者使用ExecutorService管理任务并循环读取数据,但在遇到设备请求超时返回null值时导致应用崩溃。文章分享了解决方案:在处理null值后重启任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见 api 的使用
使用过程中,值得注意的是,该线程只执行一次,如需循环执行,需要在本次线程任务执行结束之后重新启动线程任务。
举个例子

我最近做的项目——通过 USB OTG 从嵌入式设备中不断获取数据。我将获取数据的过程放进了 ExecutorService 所管理的任务中,并且在任务结束时,重启该任务,实现循环读取数据。但是实时运行过程中,app 运行一段时间会宕机,无反应,打断点发现是遇到了嵌入式设备“请求超时”的响应,此时设备返回数据为 null,而我先前只对 null 数据做了反应,但是没有重启任务,所以就不能循环读取了,在处理 null 的过程最后添加了重启任务,app 运行正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值