240 发简信
  • 120
    代码混淆

    LLVM编译过程: 预处理,词法分析,token,语法分析,AST,代码生成,LLVM IR,优化,生成,汇编代码,link,目标文件。 Cla...

  • NSTimer不准的问题及解决

    Runloop Timer为什么不准? 1:Runloop Timer底层使用的timer精度不高;2:与Runloop底层的调用机制有关系。 ...

  • App启动优化

    要想优化App的启动过程,需要先了解App的启动流程。 App启动调用顺序:1:加载info.plist里设置的启动图,建立沙箱,对权限检查,加...

  • 性能优化

    循环问题 例如NSTimer,注册了runloop,NSTimer持有self,runloop和线程一一对应,主线程不退出,self没法回收,导...

  • Block原理

    block是一个对象,可以捕获外部变量,是一个匿名函数,可以保存代码块。使用copy进行修饰,因为一开始处于静态区,当调用外部变量的时候,处于栈...

  • 网络

    网络模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。网络的通讯其实就是socket间的通讯(通讯的两端都是socket),通过...

  • RunLoop 本质以及使用

    原理本质:线程局部空间里存储的私有东西只可被当前线程访问。通过pthread_getspecific,pthread_setspecific进行...

  • KVO原理

    原理:响应式编程,响应观察成员变量的setter方法。因为一个OC属性其实是一个封装,是“_”的成员变量,以及setter和getter方法的封...

  • RunTime原理和使用

    原理:消息转发:在一个实例里边使用resolveInstanceMethod方法,内部动态添加一个方法class_addMethod去实现。之所...