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生命周期简图
自定义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生命周期简图
相关文章推荐
- Android自定义View----生命周期
- Android自定义View生命周期
- Android自定义View(一)——生命周期
- Android自定义View—生命周期(一)
- Android Fragment 生命周期及其API使用(建议使用自定义View替换Fragment)
- Android自定义View探索(一)—生命周期
- Android自定义View的生命周期浅析
- android View/ViewGroup的生命周期-自定义view
- Android自定义view生命周期
- 自定义Android组件之带图像的TextView(转)
- Android自定义View以及layout属性全攻略
- 【Android日记】自定义View及其布局问题
- Android 自定义 View
- Android高手进阶教程(三)之----Android 中自定义View的应用
- Android高手进阶教程(三)之 ----Android 中自定义View的应用
- android菜鸟测试之Aj_02的Android 中自定义View的应用,在main.xml中嵌入自己写的view
- Android\OPhone自定义视图(View) 推荐
- Android 中自定义View的应用.
- Android游戏开发之旅(六)自定义View
- 利用Android自定义View实现转盘旋转的效果