结构模型 介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等) 为什么要设计metaclass元类保存了类方法的列表 class_cop...
结构模型 介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等) 为什么要设计metaclass元类保存了类方法的列表 class_cop...
写不好的原因 1、太多cell一个聊天的界面可能有很多不同的cell,基础的可能就有 文字 图片 语音 视频 地理位置 视频 时间 跟业务绑定的就更多了,红包、系统提示语、分...
一个json类型数组和字典的解析工具,链式调用、字面量语法。 https://github.com/natewang/JsonDataDemo 问题 一直很烦json数据的解...
手机在使用过程中有时需要实时响应,有时又不需要。runloop的状态就是为了调节这些切换。比如滑动模式下,会把没有加入到此模式下的定时器跳过,这样响应会很快。
多路复用 HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。 当然HTTP1.1也可以多建立几个TCP连...
架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。 框架:软件框架是项目软件开发过程中提取特定领域软...
重复代码的提炼冗长方法的分割嵌套条件分支的优化去掉一次性的临时变量消除过长参数列表提取类或继承体系中的常量让类提供应该提供的方法拆分冗长的类提取继承体系中重复的属性与方法到父...
原则一:开闭原则(Open Close Principle)原则二:单一职责原则(Single Responsibility Principle)原则三:依赖倒置原则(Dep...
主要还是数据流向的不同。 https://blog.csdn.net/victoryzn/article/details/78392128http://www.ruanyif...
全局: const,只读的全局变量,其值不可修改. static,规定此全局变量只在当前模块(文件)中可见. static const,既是只读的,又是只在当前模块中可见的....
解决函数调用效率的问题:函数之间调用,是内存地址之间的调用,当函数调用完毕之后还会返回原来函数执行的地址。函数调用有时间开销,内联函数就是为了解决这一问题。不用inline修...
中间人攻击 HTTPS抓包的原理还是挺简单的,简单来说,就是Charles作为“中间人代理”,拿到了 服务器证书公钥 和 HTTPS连接的对称密钥,前提是客户端选择信任并安装...
1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。(2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速...
为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的...
1、优化DNS解析和缓存2、网络质量检测(根据网络质量来改变策略)3、提供网络服务优先级和依赖机制4、提供网络服务重发机制5、减少数据传输量6、优化海外网络性能 实践每个网络...
分cpu卡和gpu卡顿。 主线程耗时操作线程爆炸滑动页面渲染卡顿(离屏渲染)图像渲染解码 查看xcode的cpu占用。使用instrument 查看耗时代码。查看渲染耗时问题。
1、NSInvalidArgumentException 异常向容器加入nil,引起的崩溃。hook容器添加方法,进行判断。https://github.com/jasenh...
无痕埋点就是记录所有的事件,需要的时候去查询。可分为两种 用户点击事件 button 手势的点击,这个可以hook相关的方法,addtarget 等,去埋点,通过view获取...
App启动过程 解析Info.plist加载相关信息,例如如闪屏沙箱建立、权限检查 Mach-O加载 如果是胖二进制文件,寻找合适当前CPU类别的部分 加载所有依赖的Mach...