Android研究笔记四-Intent与Broadcast的区别

intent是一个内容,是用来被传送的东西。而广播是一个行为。它也可以是一个内容。但这时候的内容是更高一层次的intent内容。它仍然是一个intent。intent与广播并没有本质上的区别。也正由此才引发它们之间的什么区别的疑问。

使用一个intent,你可以调用任何Activity。而使用一个广播具有“完全相同”的能力。那我们为什么还需要广播呢?

因为系统中存在的并不只有调用一个问题。intent是可以用来解决任何调用问题,但它解决不了通知的问题。而调用与通知显然是不一样的东西。调用是一对一的,是单任务的。单一请求单一响应。但通知是一对多的,单一请求多个响应。也就是说,通知或者说广播,相当于是系统层次上的一个事件机制。而单纯的一对一的调用是不可能做到这一点的,所以必须在调用机制以外提供额外的通知机制。

由此,Intent就是Intent,广播就是广播。其实从字面上,它们两者早就已经澄清了自己。它们虽然非常类似,但并不是所有的INTENT都需要被广播,而所有广播也不一定都只是一次调用。

你可能感兴趣的:(Android研究笔记四-Intent与Broadcast的区别)