聊聊Android开发之四大主件

我是一个开发者,对于理论知识却不是很在意,没办法,生下来就是理科生的料,不喜欢背一些东西,但是有时候还真的去了解一下,因为找工作的经过面试那一关,要不跟面试官说,你理论不好,面试题不能回答,但是进了公司会好好工作,并且能把事情做好,HR会相信你说的话吗?我是一个有着一年多开发经验的人了,项目也上线几个了,但是对于面试题,还是云里雾里的,现在就来缕一缕面试题吧,首先从四大主件开始,面试官要是问四大主件是什么,你知回答:1,activity,2,服务3,广播接收者4,内容观察者,未免太过简单了,在网上也看了好多资料,说一说我对这四大主件的理解吧,这是最基础的东西,就随便聊聊了,有说错的地方,还望大师给评论里面说一下,我可不想让在面试的时候让HR或者项目经理跟我说呀,哈哈。

废话说了一大堆,现在就开始吧!

1:activity(活动)


活动是最基本的 Android 应用程序组件,在应用程序中,一个活动通常就是一个单独的用户界面。每一个

活动都被实现为一个独立的类,并且从活动(Activity)基类中继承而来,活动类将会显示由视图(View)控 件组成的用户接口,并对事件(Event)做出响应。大多数的应用程序都会有多个用户界面,因此便会有多个相 应的活动。

Android 的一个活动一般对应界面中的一个屏幕显示,可以理解成一个界面,每一个活动在界面上可以包 含按钮、文本框等多种可视的 UI 元素。

activity生命周期

生命周期的几个方法就不说了,都知道,下面简单的说一下我的理解;

在系统中的Activity被一个Activity栈所管理。当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。

Activity有四种本质区别的状态:

  1. 在屏幕的前台(Activity栈顶),叫做活动状态或者运行状态(active or running)
  2. 如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶),叫做暂停状态(Paused)。一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉。
  3. 如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被杀掉。
  4. 如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接杀掉它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。


2:service(服务)

  一个服务是一个具有一段较长生命周期但没有用户界面的程序。例如:一个正在从播放列表中播放歌曲的
媒体播放器在后台运行。(服务也有生命周期,可以理解为他是activity的隐形版,因为activity是界面与用户的接触,而服务是没有界面的,他是接收界面的指令来处理一些事情,就跟web的ajax差不多,点击按钮,看着没变化,其实后面已经做了很多事情,service是用户看不到的,要想更详细的理解,你还是去看看api把,我是初中毕业,api看不懂)

3:内容提供者(Content Provider)

应用程序能够将它们的数据保存到文件或 SQLite 数据库中,甚至是任何有效的设备中。当需要将数据与其 他的应用共享时,内容提供者将会很有用。一个内容提供者类实现了一组标准的方法,从而能够让其他应用程序 保存或读取此内容提供者处理的各种数据类型。

4:广播接收器(BroadcastReceiver)

这个东西大家并不陌生,很多时候都用得到,广播接收器用于让应用程序对一个外部事件做出响应。例如:电话呼入事件、数据网络可用通知或者到了晚上时进行通知。

广播接收器的生命周期

广播接收器有一个单一的回调方法 onReceive(),当广播消息到达接收器时,Android 将调用这个方法,并 传递给包含在这个消息中的 Intent 对象。

广播接收器只有在这个方法的执行过程中才处于活动状态,当 onReceive()返回后,广播接收器将不再处于 活动状态。广播接收器的功能类似于一个回调函数,只是单次运行时处于活动状态。

刚播我不知道怎么去理解他,他就像是一个忠诚的哨兵,或者你的跟班,因为他是一直出去待命状态,只要有指令,立马帮你做事,而且,他在待命状态的时候,不消耗内存。

以上内容是我对四大主件的理解,可能有叙述不恰当的地方,或许有弄不灵清的,你可以再去差其他的有关资料,我自己明白就行了



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值