zoukankan
html css js c++ java
通知、广播
IOS
1.通知中心(广播
NSNotificationCenter
)【同步响应】
注册监听通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(write1:) name:@"ccc" object:nil];
发送通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"ccc" object:nil];
此乃在单个应用中进行数据通信传递的一种方式,只能在同一个应用(进程)中,应用之间无法用此通信,
(其实质就是一个存在于该应用中的一个单例对象, 通知实际响应的方法所在哪一个线程是根据发送方【
postNotificationName】当前所在的线程决定的;即postNotificationName在主线程,则之前add的响应执行方法就在主线程,
postNotificationName在子线程,则响应方法在对应子线程执行,而不管之前
addObserver是在主线程里添加的还是子线程里添加的,这点很重要。并且各个通知的响应顺序是按照之前addObserver添加的顺序阻塞执行【一个执行完才执行下一个,并且会阻塞当前的线程】,
postNotificationName对应的响应方法不执行完毕,其后面的代码是不会跟着执行的
,Notification不会额外创建新的线程
)
2. 通知队列(
NSNotificationQueue
)【异步响应】
参考:http://www.cnblogs.com/xiaouisme/archive/2012/04/06/2434753.html
2.1
什么时候使用同步的通知,什么时候使用异步的通知?
当我们需要确保某通知对应的响应方法必须被执行时使用同步
当我们对某通知对应的响应方法不大关心时使用异步
3. 分布式通知中心(
NSDistributedNotificatio
nCenter
)
这个主要运用在MAC应用上
iPhone应用没开放,即应用程序间的通知
4.本地通知
类似于一个系统级别的定时器,当到一定时间触发一个通知(横幅、弹框等),如手机上的《提醒事项》应用的提醒功能
5.推送通知(APNS)
也即所说的远程通知,即当应用不在前台运行或关闭的情况下也能接收来自苹果推送服务器的消息,这是苹果所特有的一种方式
ANDROID
1.广播-----
Broadcast
类似于IOS中得通知中心,只不过andriod的广播更加强大,其本身就是一个系统级别的,因此不仅是在应用内,应用与系统之间、应用与应用之间都能够互相发送和接收广播,从而传递数据信息
2.本地通知
andriod也有本地通知,
Notification —— 通知
功能性质类似于ios的
查看全文
相关阅读:
oracle数据库体系架构详解
数据库迁移之从oracle 到 MySQL
一个专业DBA应具备的技能
Oracle 内存参数调优设置
正向代理与反向代理的区别
负载均衡的几种常用方式
Java虚拟机JVM学习07 类的卸载机制
Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
Git 撤销修改
Git 分支管理和冲突解决
原文地址:https://www.cnblogs.com/cnsec/p/11515790.html
最新文章
Prisma 2 进入beta 阶段了
qiankun 蚂蚁金服基于single-spa 的微前端解决方案
kpt 基于git+yaml 的k8s 配置管理
几个不错的国内镜像加速
proxyquire 方便的nodejs 依赖覆盖方法模块
clinic 简单使用
clinicjs 一个强大的nodejs 性能分析利器.
OpenSilver Silverlight 的重新实现
bashible docker集成使用
使用mgob 进行mongodb 数据库备份
热门文章
envdir 环境变量管理工具
几个方便处理wal log 的工具
bashible 模版使用
bashible 模块使用
bashible 基于bash 的dsl 框架
graphql-mesh mongoose 集成
graphql-mesh web service 集成
Oracle体系结构和用户管理
Oracle11g的SGA和PGA设置为多大最合适?
oracle调整sga、pga大小
Copyright © 2011-2022 走看看