前言
对于Android开发,这两个onDetachedFromWindow()和onAttachedToWindow()方法应该不陌生。
今天有空,这里整理一下。(都是陈年旧事了)
好记性不如烂笔头
总结
这两个方法可以做View生命的开始和结束,再这两个方法内可以做一下对应的开始和结束操作。
正文
通过之前我们整理的《Android自定义view生命周期》,View的生命周期方法打印,摘抄如下:
# 进入
onFinishInflate:
onAttachedToWindow:
onWindowVisibilityChanged:
onVisibilityChanged:
onMeasure:
onLayout:
onDraw:
# 退出
onWindowVisibilityChanged:
onVisibilityChanged:
onDetachedFromWindow:
也就是可以说onAttachedToWindow()和onDetachedFromWindow()可以作为一个View的生命的开始和结束。
因此,当我自定义View,重写上面俩个方法,然后对一些状态的监听处理,比如WiFi的显示,电量的显示,声音状态的显示等。
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
//注册监听,初始化值等
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
//取消监听
}
