每日一问:浅谈 onAttachedToWindow 和 onDetachedFromWindow

本文主要探讨了Android中onAttachedToWindow和onDetachedFromWindow的使用,包括在Activity、View和RecyclerView.Adapter中的回调时机和应用场景。在Activity中,onAttachedToWindow在onResume之前,可用于获取视图的宽高;在View中,适合作为资源初始化和释放的时机;在RecyclerView.Adapter中,onViewAttachedToWindow和onViewDetachedFromWindow用于列表曝光埋点和Item的显示隐藏处理。同时,文章提到了onAttachedToRecyclerView与之的区别,并解答了为何RecyclerView.Adapter的onViewAttachedToWindow不起作用的问题。

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

基本上所有 Android 开发都会接触到 onCreate()onDestory()onStart()onStop() 等这些生命周期方法,但却不是所有人都会去关注到 onAttachXXX() 这样的方法群体,今天,笔者就希望用简短的文章对此进行一定讲解。

Activity 中的 onAttachedToWindow

首先在 Activity 中我们可以重写 onAttachedToWindow()onDetachedFromWindow() 这一对方法。顾名思义,"Attached" 就是附加的意思,所以我们可以确定 onAttachedToWindow() 就是在 View 附加到 window 上的时候进行回调,而 onDetachedFromWindow() 就刚好相反。

这一对方法会在我们熟悉的 Activity 生命周期的 onResume()onPause() 中间,但并不是每一次 onResume()onPause() 回调的时候都会在接下来回调它们。应该比较好理解,我们当然不需要频繁往 window 中附加和分离 View 嘛。

这里自然我们容易产生一个问题,在 onAttachedToWindo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值