笔记——四大组件(十五)

2019-01-04  本文已影响3人  木溪bo

——个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主与书籍精华

1、Activity是一种展示型组件。Activity的启动由Intent触发,其中Intent可以分为显式Intent和隐式Intent,显式Intent可以明确地指向一个Activity组件,隐式Intent则指向一个或多个目标Activity组件。


image

2、Service是一种计算型组件,用于在后台执行一系列计算任务。Service组件有两种状态:启动状态和绑定状态。
启动状态时,Service组件可以在后台执行计算,但是它本身是运行在主线程中的,因此耗时的后台计算仍然需要在单独的线程中去完成。
绑定状态时,同样也可在后台执行计算,但是处于这种状态时外界可以很方便地和Service组件进行通信。
3、BroadcastReceiver是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消息。通过Context的一系列send方法来发送广播,发送和接收过程的匹配是通过广播接收者的<intent-filter>来描述的。BroadcastReceive广播有两种方式注册:静态注册和动态注册。

4、ContentProvider是一种数据共享型组件,用于向其他组件乃至其他应用共享数据。它的内部实现了增删改查这四种操作,在它的内部维持着一份数据集合,这个数据集合既可以通过数据库来实现,也可以采用其他任何类型来实现,比如List和Map;ContentProvider对数据集合的具体实现并没有任何要求。需要注意的是,ContentProvider内部的insert、delete、update和query方法需要处理好线程同步,因为这几个方法是在Binder线程池中被调用的,另外ContentProvider组件也不需要手动停止。ContentProvider的onCreate要先于Application的onCreate而执行,这在四大组件中是个例外。

上一篇下一篇

猜你喜欢

热点阅读