博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Handler
阅读量:6824 次
发布时间:2019-06-26

本文共 460 字,大约阅读时间需要 1 分钟。

Handler类应该被静态修饰,否则可能会出现内存泄露?

1.当Android应用首次启动时,framework会在应用的UI线程创建一个Looper对象。Looper实现了一个简单的消息队列并且一个接一个的处理队列中的消息。应用的所有事件(比如Activity生命周期回调方法,按钮点击等等)都会被当做一个消息对象放入到Looper的消息队列中,然后再被逐一执行。UI线程的Looper存在于整个应用的生命周期内。

2.当在UI线程中创建Handler对象时,它就会和UI线程中Looper的消息队列进行关联。发送到这个消息队列中的消息会持有这个Handler的引用,这样当Looper最终处理这个消息的时候framework就会调用Handler#handleMessage(Message)方法来处理具体的逻辑。 

3.在Java中,非静态的内部类或者匿名类会隐式的持有其外部类的引用,而静态的内部类则不会。 

转载于:https://www.cnblogs.com/ganchuanpu/p/7921444.html

你可能感兴趣的文章
HTML常用标签(自用,可能不严谨,勿怪)
查看>>
asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师
查看>>
如果当前窗口的父窗口的窗口不是个顶级窗口就让页面跳转回到登录页
查看>>
c++primer读书笔记(二)--基本知识下
查看>>
SQLserver安全设置攻略
查看>>
C++实现哈希映射(与map二叉树映射,线性映射比较)
查看>>
SVN使用方法
查看>>
Beta 冲刺1
查看>>
LeetCode(19): Remove Nth Node From End of List
查看>>
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
查看>>
MYSQL 注释的 3 方法
查看>>
C# 利用ICSharpCode.SharpZipLib实现在线加密压缩和解密解压缩
查看>>
zookeeper项目使用几点小结
查看>>
杂物论第一 中华文明的根基
查看>>
c#中 枚举类型的使用(转)
查看>>
linux应用之tomcat的安装及配置(centos)
查看>>
bytes与str
查看>>
转:Socket原理与编程基础
查看>>
linux C 刚初始化后的一个变量在调用一个静态库中函数后被异常修改为乱码
查看>>
记录DHT网络主要功能步骤
查看>>