我的github
posts - 3243,  comments - 42,  views - 158万

Handler机制 主要涉及以下几个方面:

  1. Handler类:它是用于处理消息的对象,通常用来在不同的线程之间传递消息。
  2. Message类:这是消息对象,包含了有关消息的数据以及目标处理器的引用。
  3. MessageQueue类:这是一个存储消息的对象,按照一定的顺序排列。
  4. Looper类:它的内部是一个死循环,不断地从MessageQueue中取出消息并进行分发。
  5. HandlerThread类:它用于创建一个新的子线程,在这个子线程中使用Looper来处理消息,从而避免主线程(UI线程)因长时间执行耗时操作而导致卡顿或崩溃。

Handler机制的核心在于它如何在不同线程之间传递消息。当子线程完成耗时操作后,它会创建一个包含数据的新Message对象,然后将其发送到MessageQueue中。Looper会在自己的循环中不断检查MessageQueue是否有新的消息,一旦发现新消息,就会调用dispatchMessage方法来分发这些消息。最终,这些消息会被传递给注册了相应消息处理的Handler。

为了确保线程安全,Handler机制使用了目标(Target)的概念,即每个消息都绑定到一个特定的处理器。这样,即使系统中有很多Handler实例,它们也能正确地处理各自的目标消息。

需要注意的是,为了避免潜在的内存泄漏问题,开发者在使用Handler时应谨慎。例如,如果在某个Activity结束后还有未处理的消息,这可能导致Activity不被及时回收,从而引起内存泄露。为了避免这种问题,可以使用静态内部类或者弱引用来管理Handler的使用,并在不再需要时清除消息队列中的信息。

参考:https://blog.csdn.net/f641385712/article/details/89845181

SpringMVC不用注解的方式,用配置xml的方式

参考:https://blog.csdn.net/u011047968/article/details/103807065

implement Controller

posted on   XiaoNiuFeiTian  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2023-01-31 geotools:DataUtilities和SimpleFeatureType 获取shapefile文件既有属性值
2023-01-31 geotools:点文件和面文件进行空间关联
2023-01-31 geotools裁剪之后属性丢失
2021-01-31 Nodejs是什么?
2019-01-31 Ubuntu14.04下安装Cuda8.0
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示