美文网首页
runloop和runtime总结

runloop和runtime总结

作者: 师景福 | 来源:发表于2024-08-23 10:53 被阅读0次

1.runloop   作用:保持程序线程的持续运行;接受用户的交互,从而处理app的事件(事件响应,更新UI,识别手势,定时器,网络请求等),具有调用解耦(串行队列中进行一步操作回到主线程如下图)的作用,减少cpu的消耗,提高性能,用时运行不用就歇息。

runloop针对线程一对一,每个线程对应一个runloop,我们不能创建runloop,都是系统创建好的runloop,项目中主线程的对应runloop是默认开启的,其余的需要我们进行创建线程而开启;也会根据线程结束runloop也销毁

runtime  Runtime简称运行时,OC就是运行时机制,对于我们oc来说就是底层中我们对于某个object对应的函数,根据函数名称进行的调用;

作用:消息发送机制就是objc_msgSend,objc_msgSend(object, @selector(xxx));

             交换方法 我们项目中UIViewController +xxx 对于viewDidLoad等交换

    Method fromMethod = class_getInstanceMethod([self class], @selector(viewDidLoad));

    Method toMethod = class_getInstanceMethod([self class], @selector(xxxViewDidLoad));

   if (!class_addMethod([self class], @selector(xxxViewDidLoad), method_getImplementation(toMethod), method_getTypeEncoding(toMethod))) {

        method_exchangeImplementations(fromMethod, toMethod);

    }

动态添加方法  初始化调用一个类,添加一个方法performSelector,在类中我们进行resolveInstanceMethod方法( resolveInstanceMethod作用:就知道哪些方法没有实现,从而动态添加方法)

给分类添加属性  例如初始化 xxx =[[xxx alloc]init]; xxx.name =@'';

字典转model:遍历模型中所有的属性,根据模型的属性名,去字典中查找key,取出对应的值,给模型的属性赋值。

2.xcode 和测试工具

自带的leaks测试内存泄露(一般的 self未弱引用(block)、循环引用、定时器视频)(我们测试我们页面的dealloc走没走,通知,移除部分注册的web,定时器视频关闭等)

自带的crashes进行判断崩溃的地方Window -> Organizer进行查看

三方sdk例如Bugsnag、友盟、bugly测试数据崩溃的数据日志记录流

3、自定义控件

进行基础控件的拓展,并且自定义对应app全局共用的特殊控件

4.网络通信机制、socket通信、tcp/Ip 和http

Socket:是一个数据传输的连接线;

UDP:面向非连接的协议,传送数据不需要和服务器连接;只需要ip和监听端口,把数据传给网络就           可以。

TCP:三次握手,

众所周知,TCP在数据传输前需要经过三次握手,UDP却不需要做任何的准备即可进行数据传输,因此UDP不会引入建立连接的时延。

这也是DNS运行在UDP而不是TCP上的主要原因。

而HTTP协议之所以使用TCP,是因为对于HTTP协议来说,可靠性是至关重要的。

5.im即时通许和直播软件、语音软件

相关文章

  • iOS面试点文章链接

    runtime基础方法、用法、消息转发、super: runtime 完整总结 runloop源码、runloop...

  • RunTime 和 RunLoop 简单总结

    RunLoop 一个线程执行一个任务,执行完成后退出。RunLoop就是执行完之后不退出,重复执行 RunLoop...

  • 详解runTime和runLoop

    runTime 和 runLoop runTime的详解: 1.什么是runtime? runtime即运行时,它...

  • Runtime和Runloop的区别

    Runtime和Runloop的区别 一.RunLoop机制: Runloop是事件接收和分发机制的一个实现。 R...

  • iOS Runtime 运行时机制

    runtime(「runtime&runloop 面试、工作」) runtime(简称运行时),是一套 纯C(C和...

  • iOS

    Runtime & RunLoop Objective-C Runtime Objective-C Runtime...

  • runtime 和 runloop

    runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...

  • runtime和runloop

    关于Runloop的几个特性 Runloop工作的特点: 1>当有时间发生时,Runloop会根据具体的事件类型通...

  • runloop 小结

    OC的两大核心runtime和runloop runloop简介 runloop本质上是一个do-while循环,...

  • iOS之runloop(1)

    runloop 这和runtime一样重要,那么我们现在探究一下runloop究竟是怎么运行的。 runloop其...

网友评论

      本文标题:runloop和runtime总结

      本文链接:https://www.haomeiwen.com/subject/sjorcjtx.html