android之View的启动过程
转自:http://www.cdtarena.com/gpx/201308/9607.html
程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程
代码如下:
- public class TestView extends View {
- public TestView(Context context) {
- super(context);
- Log.d("mDebug", "TestView context");
- }
- public TestView(Context context, AttributeSet attrs) {
- super(context, attrs);
- Log.d("mDebug", "TestView context, attrs="+attrs.getAttributeValue(0));
- }
- public TestView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- Log.d("mDebug", "TestView context,attrs,defStyle attrs="+attrs.getAttributeValue(0));
- }
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- Log.d("mDebug", "onDraw");
- }
- @Override
- protected void onFinishInflate() {
- super.onFinishInflate();
- Log.d("mDebug", "onFinishInflate");
- }
- 成都安卓培训、成都android培训
- @Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- super.onSizeChanged(w, h, oldw, oldh);
- Log.d("mDebug", "onSizeChanged,w="+w+",h="+h+",oldw="+oldw+",oldh="+oldh);
- }
- }
输出如下:http://www.cdtarena.com/net.html
- 22:23:03.587: D/mDebug(9715): TestView context, attrs=@2131034112
- 22:23:03.597: D/mDebug(9715): onFinishInflate
- 22:23:03.667: D/mDebug(9715): onSizeChanged,w=720,h=1080,oldw=0,oldh=0
- 22:23:03.727: D/mDebug(9715): onDraw
- 22:23:03.757: D/mDebug(9715): onDraw
很显然,onSizeChanged的启动时间在onDraw之前
android之View的启动过程的更多相关文章
- Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...
- 【转】Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布 ...
- Android应用程序进程启动过程的源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址: http://blog.csdn.net/luoshengyang/article/details/6747696 Android 应用程序框架层创 ...
- Android 儿子Activity在启动过程中的流程组件 && 儿子Activity在一个新的进程组件启动过程
1.儿子Activity在启动过程中的流程组件 在Android Activity启动过程http://blog.csdn.net/jltxgcy/article/details/35984557一文 ...
- Android应用程序进程启动过程(后篇)
前言 在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环. 1.Binder线程池 ...
- android 中view的绘制过程
view的绘制过程中分别会执行:onMeasure(会多次)计算view的大小,OnLayout(),确定控件的大小和位置 onDraw()绘制view 当Activity获得焦点时,它将被要求绘制自 ...
- android,view的执行过程onDraw、onSizeChanged,onFinishInflate
小试view的执行过程,此是入门,高手绕道. ----------------------------------------------------------------------------- ...
- Android应用程序进程启动过程(前篇)
在此前我讲过Android系统的启动流程,系统启动后,我们就比较关心应用程序是如何启动的,这一篇我们来一起学习Android7.0 应用程序进程启动过程,需要注意的是“应用程序进程启动过程”,而不是应 ...
- Android Activity组件的启动过程
0.总图 1.总图中的第一步,Laucher主线程向ActivityManagerService进程发出START_ACTIVITY_TRANSACTION 如图:第一步 ~/Android/fram ...
随机推荐
- Java设计模式模式观测(Observer Pattern)
Observer Pattern 设计模式通常用于.这是一个事件侦听器模型. 该模型有两个作用,一个是Subject, 有一个Observer.Subject 保存多个Observer参考,一旦一个特 ...
- HYSBZ1588 营业额统计【Splay】
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4366582.html ---by 墨染之樱花 [题目链接]http://www.lydsy ...
- 2351: [BeiJing2011]Matrix( hash )
hash一下, 把原矩阵所有A*B的子矩阵的hash值存在set里面, 然后对于每个询问就求出hash值, 在set中查找. ------------------------------------- ...
- Oracle 传参错误
错误:ORA-01008: 并非所有变量都已绑定 报错的SQL:UPDATE RES_AUTHORITY SET F_APPLYER= ...
- javascript定义函数不同方式的区别
学习javascript中遇到了这么一个问题,代码如下: var test = 'a'; function test() { alert('Hello World!'); } alert(test); ...
- Dapper 基础用法
Dapper是.Net下的一个简单orm框架,具有以下特点: 1.简单,只需要一个文件即可(SqlMapper.cs) 2.快速,下面是一个查询结果集在500以上的运行速度对比 3.不要求特定的db ...
- kinect for windows - 环境搭建
我是在虚拟机上搭建的开发环境,需要准备如下软件: 1)vmware workstation 10.0.2 (可以去官网下载,key就自己百度吧) 2)win7 32位(一定是32位的) 3)vs201 ...
- Linux的环境变量总结
请见Github博客:http://wuxichen.github.io/Myblog/linux/2014/10/11/LinuxEnvironmentVariables.html
- 关于闹钟设置AlarmManager类方法参数解释
1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用 ...
- ThinkPHP - 模板引擎
1.导入css/js文件 - CSS文件 <!--<link rel="stylesheet" type="text/css" href=" ...