当前位置: 首页 > news >正文

Android - Handler使用post之后,Runnable没有执行

问题:子线程创建的Handler。如果 post 之后,在Handler.removeCallbacks(run)移除了,下次再使用Handler.postDelayed(Runnable)接口或者使用post时,Runnable是没有执行。导致没有收到消息。

解决办法:只有主线程创建的,remove之后,还可以post。

原因: 在主线程new一个Handler的时候,默认使用的是当前线程的Looper,就是系统为我们创建好的MainLooper。所以不需要自己在手动写prepare() 和 loop()函数。

如果在子线程中创建了一个Handler,那么就必须做三个操作: prepare()、 loop()、quit()

所以留意,new Handler时机,是否在主线程。

http://www.lryc.cn/news/539966.html

相关文章:

  • MyBatis-Plus之通用枚举
  • 基于Spring Boot的图书管理系统设计与实现(LW+源码+讲解)
  • 如何在 VS Code 中快速使用 Copilot 来辅助开发
  • 12.1 Android中协程的基本使用
  • 【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步
  • php-fpm
  • Python3测试开发面试题2
  • qt + opengl 给立方体增加阴影
  • Webpack,Vite打包的理解
  • Vue 3 30天精进之旅:Day 25 - PWA支持
  • 机器学习-生命周期
  • 大道至简 少字全意 易经的方式看 缓存 mybatis缓存 rendis缓存场景 案例
  • 如何使用 Flutter DevTools 和 PerformanceOverlay 监控性能瓶颈
  • TS中Any和Unknown有什么区别
  • 【Mpx】-环境搭建项目创建(一)
  • PyQt加载UI文件
  • Java面试第二山!《计算机网络》!
  • Mysql基础语句
  • 连接池Java导包
  • 一些耳朵起茧子的名词解释
  • HBuilderX中,VUE生成随机数字,vue调用随机数函数
  • C#发送邮件
  • 2025-2-19学习笔记 : this关键字,constructor结构体,class类
  • 避坑:过早的文件结束符(EOF):解决“git clone龙蜥OS源码失败”的失败过程
  • 【Quest开发】全身跟踪
  • 通过BingAPI爬取Bing半个月内壁纸
  • Linux升级Anacodna并配置jupyterLab
  • ctfshow web入门 web11-web24
  • Windows 环境下配置多个不同版本的 Maven
  • web入侵实战分析-常见web攻击类应急处置实验1