您的位置:首页 > 移动开发 > Android开发

Android自定义view生命周期

2016-10-17 17:40 197 查看
定义一个自定义CustomView,在xml中加载,打印MainActivity和view各个生命周期方法,对比如图显示     



自定义view的生命周期过程主要分为三个环节,初始准备,监测绘制,销毁
如图所示,一开始view在xml中加载,调用构造函数CustomView(Context contextt, AttributeSet attrs),当从xml中加载完成后,调用onFinishInflate 方法,这时view完成初始准备环节。
view的绘制发生在activity onResume之后,确切来说是在onAttachedToWindow之后,onAttachedToWindow是将view绑定到activity所在window,附加到window后,程序开始进行所有view的绘制。
PS 如果view中需要注册监听,开始执行某动画效果,可以在onAttachedToWindow中开始调用执行。
我们都知道自定义view绘制当中最重要的有三个方法,onMeasure onLayout onDraw 
onMeasure 计算view高度宽度大小

onLayout 计算view位置
onDraw 绘制view

view绘制过程中为了确认view大小,会多次重复调用onMeasure。这跟view绘制机制有关,有兴趣可以去官网了解How
Android Draws Views 
onWindowFocusChanged  是判断view是否获取焦点,参数hasWindowFocus 对应返回true 和false 可以用该方法判断view进出后台
onDetachedFromWindow 当activity销毁之后,view会从window上抽离,此时view销毁。
附上view生命周期简图



 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: