Android四大组件知识点整理

2016-05-08  本文已影响0人  庄超人

Android四大组件已经是个老生常谈得不行的问题了,然而确实又是重中之重,不得不抓出来重新梳理一遍以便自己的记忆及理解。四大组件分别是ActivityBroadcast ReceiverServiceContent Provider


先从Activity说起,它是一种可以包含用户界面的组件,主要用于和用户进行交互。

而提到Activity,我认为应先解释下Back Stack(返回栈)。栈我们都知道遵循LIFO(后进先出),Back Stack同样也是,当一个新Activity启动时,它会被入栈并处于栈顶,用户点击Back键或我们调用finish()后,当前栈顶Activity会出栈并被销毁,先前被停止的Activity会被恢复。而这些停止、恢复则是Activity活动状态的其中2种。
四种状态分别为:

在Activity类中定义了七个回调方法,覆盖了活动生命周期的每一个环节。

以上方法除了onRestart(),其他都是两两相对,将活动分为了三个生存期

活动启动模式:

另外关于生命周期贴上一张图。

Activity生命周期

由于Fragment与Activity有些类似,贴上一张从stromzhang那看到的图

最强生命周期图

接下来说广播,广播的注册分为两种方式:

比较起来的话,动态注册的广播接收器可以自由地控制注册与注销,在灵活性方面有很大的优势,但是得必须程序启动之后才能接收到广播。而静态注册的广播则只要有广播,系统会调用程序运行。


Service主要用于在后台处理一些耗时的逻辑,或者执行一些需要长期运行的任务。必要的时候,甚至可以让服务在程序退出的情况下继续运行。
Service在使用上有两种方式

Service与Thread的区别

而在使用上的最大不同是,当你在开启一个线程进行一些操作的时候,在Activity被finish后,这时候你是不持有该线程的引用,你无法再对该线程进行任何操作。而Service则可以在任何Activity中进行启动或关联。


ContentProvider主要用于将数据暴露出去,而其他应用程序可以通过ContentResolver来对其暴露的数据进行操作。

上一篇 下一篇

猜你喜欢

热点阅读