文档章节

关于Broadcast的基础知识

仰简
 仰简
发布于 2014/09/27 00:09
字数 422
阅读 39
收藏 0

关于Broadcast的基础知识

    关于Broadcast的基础知识,网上已经有很多不同的版本了,这里推荐罗升阳的,大概的流程上的东西还是讲到了的。那么,在这里,鄙人只是提出一些基本的知识点出来,作为普及,或者不想看长篇累犊的博客的同学看的。

    1、广播分为时序广播(order broadcast)和非时序广播(parell broadcast),还有一种叫做粘性广播(stick broadcast)----其实和前两者没太多关系,而且也不影响对于broadcast timeout的理解,可以先放着不管

    2、非order的处理是异步的,order的是同步的(因此,加入了timeout机制

    3、如何区分一个广播是时序的还是非时序的?

       (1)静态注册的receiver,其被发送的广播一定是order的

       (2)动态注册的receiver,如果发送时,调用的是sendBroadcast()则一定非时序的,但如果是sendOrderBroadcast()则一定是时序的。

         小小总结一下:大部分广播的发送都采用了order的机制,只有动态注册的receiver才有可能因为发送广播时调用的是sendBroadcast才可能为非order的了。而一个“广播--接收--应答”的持续时间只有10s(正常情况下),所以如果我们在receiver的onReceive()中做太多事情的话,很可能会引起timeout而出现Anr Dialog。而一旦ANR了,那么你的某些依赖广播的receiver去执行的功能可能就不行了。

       关于广播分类以及是否ANR,您看明白了吗?



© 著作权归作者所有

共有 人打赏支持
仰简
粉丝 1
博文 14
码字总数 14547
作品 0
广州
高级程序员
android基础知识05:四大组件之Broadcast Receiver

本文介绍Broadcast Receiver,包括几部分内容:Broadcast Receiver概述及实例、自定义Broadcast Receiver、Broadcast Receiver的实现细节、生命周期等。 csdn貌似今天出问题了,无法上传图片...

迷途d书童
2012/03/23
22K
8
【原创】手把手教你Linux下的多线程设计--Linux下多线程编程详解(四)

本文可任意转载,但必须注明作者和出处。 【原创】手把手教你Linux下的多线程设计(四) --Linux下多线程编程详解 原创作者:Frozen_socker(冰棍) E_mail:dlskyfly@163.com 线程同步 首先来...

gaoshouma
2007/07/11
0
0
Android面经总结

Basic: 1. 基本的UI控件和布局文件 2. UI配套的Adapter的使用 3. Activity, Intent,Service,broadCast Receiver他们的生命周期管理熟悉一下 4. 操作手机上的数据库SQLite应用 Advanced_1(这是...

晨曦之光
2012/03/09
204
0
Android面经总结

Basic: 1. 基本的UI控件和布局文件 2. UI配套的Adapter的使用 3. Activity, Intent,Service,broadCast Receiver他们的生命周期管理熟悉一下 4. 操作手机上的数据库SQLite应用 Advanced_1(这是...

晨曦之光
2012/03/07
444
0
Android电池电量监控初步

引言 ,学习了包括Activity、Service、AppWidget、Broadcast、Intent、Notification、XML布局、XML配置等基础知识之后,尝试着做一个小玩意儿——电池监控,期间也是阻挠多多,现在基本完成了...

鉴客
2012/01/29
3.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
14分钟前
26
0
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
16分钟前
5
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
18分钟前
1
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
24分钟前
1
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部