社区
Android
帖子详情
普通new 个Handler,AS会提示泄漏。
别以为你站在珠峰就能看到全世界
2017-12-09 12:27:03
但是如果我传入一个Looper,AS就不会提示,难道传入Looper就不会泄漏?
...全文
199
6
打赏
收藏
普通new 个Handler,AS会提示泄漏。
但是如果我传入一个Looper,AS就不会提示,难道传入Looper就不会泄漏?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
江三木洛
2017-12-11
打赏
举报
回复
我的理解是IDE只针对这一种情况进行提示,实际上就算不加static做些工作的话handler也不一定会发生泄漏 可能就提示最典型的情况
别以为你站在珠峰就能看到全世界
2017-12-11
打赏
举报
回复
引用 3 楼 骑着蜗牛去爬山的回复:
static Handler
知道,只是想知道传单了looper为啥就不提示。 我的理解,该泄露的话,就算new时有looper参数还是会泄露才对。
kampoo
2017-12-09
打赏
举报
回复
是不是Handler和Looper使用了不同Android版本的基类?
MadFrogs
2017-12-09
打赏
举报
回复
设置成静态的
骑着蜗牛去爬山
2017-12-09
打赏
举报
回复
static Handler
雨焰
2017-12-09
打赏
举报
回复
你 new的hanlder是不是在子线程里创建的啊? 如果是在子线程中创建的,那么你就需要 需要调用looper.prepare() 和 looper.loop()这一对函数 你的handler是和消息队列交互的,而消息队列是由looper创建的 所以你没有looper,就没有消息队列,没有消息队列,你的hanlder和谁交互message?handler孤零零的一个,系统就给你报bug了!
详解Android使用
Handler
造成内存泄露的分析及解决方法
主要介绍了详解Android使用
Handler
造成内存泄露的分析及解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
c语言
handler
指针,详解C++
new
-
handler
机制
当 operator
new
不能满足一个内存分配请求时,它抛出一个 exception(异常)。很久以前,他返回一个 null pointer(空指针),而一些比较老的编译器还在这样做。你依然能达到以前的目的(在一定程度上),但是我要到本文的最后再讨论它。在 operator
new
因回应一个无法满足的内存请求而抛出一个 exception 之前,它先调用一个可以由客户指定的被称为
new
-h...
handler
导致内存泄露的真正原因
handler
是我们在更新UI时经常使用到的类,但是不注意的话,很容易就导致内存泄露,最后导致OOM,故现在探究下
handler
导致内存泄露的原因及有哪些常用的解决办法。 先看下面一段代码: 可以看到这段代码编辑器为我们标出了黄色,并且
提示
如下: This
Handler
class should be static or leaks might occur (anonymous ...
Handler
为什么
会
导致内存
泄漏
?其他的内部类没有这个问题?
在ActivityThread的main方法里面调用 Looper.loop()执行死循环,死循环首先执行Message msg = queue.next(),只有拿到对应msg后,才
会
执行
handler
的dispatchMessage方法,最后处理完消息后执行message的recycleUnchecked方法,target = null,message持有的
handler
采
会
被释放。我们已经知道了
Handler
是匿名内部类,匿名内部类持有外部类的对象,
handler
持有activity。
Handler
内存
泄漏
最近看了
handler
相关代码,将所学
handler
内存
泄漏
相关总结一下。
Android
80,471
社区成员
91,385
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章