码迷,mamicode.com
首页 > 移动开发 > 详细

对android布局和窗口的理解

时间:2016-05-07 08:37:51      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:


Context实例个数 = Service个数 + Activity个数 + 1(Application对应的Context实例)

context:

1、它描述的是一个应用程序环境的信息,即上下文。

2、该类是一个抽象(abstract class)类。



技术分享


Application:


创建Application 对象时, 而且整个App共一个Application对象

getApplicationContext()返回的是你的整个Application的context,生命周期是整个Application,Application销毁后,它才销毁。

getBaseContext()返回由构造函数指定或者setBaseContext()设置的上下文(谷歌工程师不建议使用)。


所以application的生命周期就是整个程序的生命周期,程序完全退出application才销毁。


activity与View

window,activity,和view的关系是这个样子的:

activity中new出一个window,而window(接口)通过这个phonewindow子类来获取一个子类实例。这是一种典型composite模式。再通过

phonewindow的setContentView在内部使用LayoutInflater来给Window设置View。


这段话给我们的感觉就是 activity是窗口(界面),View是显示在窗口的布局


this和activity.this


Activity.this的context属于Activity,生命周期与Activity相同,随着当前的Activity.this消亡而消亡。

this是你当前对象的引用 ,this放在哪里边就是谁的指针,如果在Activity中就是Activity,这时等同于Activity.this;如果放在OnCliclListener()中就是OnClickListener()。


activity于activity.this的生命周期就是当前的页面,当前页面销毁掉了,activity也就被销毁,另外this指当前对象,在实际开发工程中有的需要自己指明是哪个activity的对象,要不然编译不通过。


看下他们之间的结构图

技术分享


技术分享


技术分享


从这几个图可以看出 context是一个打的窗口(界面),这个界面的下一级别是 application 再下一级别是 activity ,cointext是这几个类的父类

技术分享

同样的布局View是所有layout布局中控件的父类。  它们一个管理窗口一个管理布局显示。

1、它描述的是一个应用程序环境的信息,即上下文。

2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。

对android布局和窗口的理解

标签:

原文地址:http://blog.csdn.net/qq_26296197/article/details/51334909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!