小知识回顾

2017-05-23  本文已影响28人  欢欢1206
1. NSThread(动态、静态、隐式实例化)
每个NSThread对象对应一个线程,真正最原始的线程。
1)优点:NSThread 轻量级最低,相对简单。
2)缺点:手动管理所有的线程活动,如生命周期、线程同步、睡眠等,控制线程顺序比较难,同时线程总数无法控制,线程同步对数据的加锁会有一定的系统开销。

2. NSOperation(NSOperation是对GCD的封装,面向对象,效率不如GCD)
自带线程管理的抽象类,NSInvocationOperation(target,NSInvocationOperation在Swift中已不再支持),NSBlockOperation(block)
1)优点:自带线程周期管理,操作上可更注重自己逻辑。
2)缺点:面向对象的抽象类,只能实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。

3. GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。
1)优点:最高效,避开并发陷阱。
2)缺点:基于C实现(不是面向对象,但是我并不觉得是缺点,效率和性能才是正宗)。

总:除了依赖关系尽量使用GCD,因为苹果专门为GCD做了性能上面的优化
1、应用程序注册APNS消息推送。
2、iOS从APNS Server获取devicetoken,应用程序接收device token。
3、应用程序将device token发送给程序的PUSH服务端程序。
4、服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
组件化,通过deepLink接口调页面(URL SCHEMES)
上一篇下一篇

猜你喜欢

热点阅读