安卓应用开发中对activity的了解

来源:互联网 发布:一万年来谁著史 知乎 编辑:程序博客网 时间:2024/05/19 10:53

我们在了解activity之前首先要明白一个东西既然存在,那么肯定有它存在的原因,如果我们把它存在的原因弄懂了,我们对这个东西就容易理解了,那么activity为什么会存在呢?因为用户在使用应用程序时是通过界面来交互的,所以我们在开发应用程序时需要创建界面,而这个界面就是用activity来描述(因此一个应用程序通常由多个activity组成),而activity的本质就是用java语言写的,所以它就是一个类,既然它是一个类,那么它也有相对应的成员方法,属性等等,这些具体的源码我们在刚学习时先不用理解,我们只需弄懂它的原理。

弄懂了activity存在的原因后,我们其实可以简化为:应用程序(app)中的界面—-activity,那么我们再来联想到我们平常用的app,我们可以在一个界面(activity)中打开另一个界面(activity),而且打开之后还可以返回原来的界面(activity),这说明什么?这可以引出三个问题:第一activity是有状态的,在打开另一个activity时,原来的activity并没有被销毁,也就是说明activity是有生命周期的(生命周期的相关方法可以去官方文档看),第二就是activity的储存方式,是用栈储存,后进先出,第三就是activity的加载模式,在一个activity中打开一个activity,如果是相同的activity,是重新创建呢,还是原来的activity,这是由加载模式来决定的,加载模式有四种,具体你们可以详细去理解

再来进一步的联想,既然activity是有生命周期的,这些都要靠反射(可以说一下反射的作用:把很多难以预测的问题留到运行时,动态地去考虑去解决)来完成,那么这个类对象肯定不能像平常那样手动创建,必须是由系统自动创建的,因此每个activity要想被访问到,都要在AndroidManifest里登记,系统是根据AndroidManifest来创建activity类对象的

有了界面之后,界面里面肯定要有内容吧,那内容用什么来描述呢?内容用view来描述,也就是说activity里面是一个个view,而view里面也可以装view,view的详细理解分析下章再说。

原创粉丝点击