前置知识 首先简单分析下在Objective-C中,对象是什么。下面源码基于Runtime-709[https://opensource.apple.com/tarballs...
前置知识 首先简单分析下在Objective-C中,对象是什么。下面源码基于Runtime-709[https://opensource.apple.com/tarballs...
赞同,metaclass 使用 class 的设计,感觉更丝滑。
iOS面试题:为什么Objective-C中有MetaClass这个设计?前置知识 首先简单分析下在Objective-C中,对象是什么。下面源码基于Runtime-709[https://opensource.apple.com/tarballs...
@akzhang6666 暂时不适合公开哈,抱歉
RTL适配历程背景 阿拉伯语适配是一个比较麻烦的事情,不止在于它文案的适配,更多的是在于其语言习惯的变化。由从左到右(LeftToRight)的布局习惯变为了从右向左(RightToLef...
前言 OOM全称 Out Of Memory,指的是因为内存使用过多而导致的 APP 闪退。其实这本身是一种操作系统管理内存的机制。因为手机的内存是有限的,不可能无限制的使用...
重建window
RTL适配历程背景 阿拉伯语适配是一个比较麻烦的事情,不止在于它文案的适配,更多的是在于其语言习惯的变化。由从左到右(LeftToRight)的布局习惯变为了从右向左(RightToLef...
背景 block的问题算是老生常谈了,本以为对block很熟悉了,但是前几天跟同事聊到几个block的很有意思的点,一开始还真的感觉一脸懵逼。想了很久才想出来自以为能解释的原...
AVFoundation的一本书,你去京东搜索AVFoundation就能找到
AVFoundation(二):核心AVAssetAVFoundation是一个对多媒体操作的库。多媒体一般以文件或者流的形式存在,显而易见,直接对多媒体进行操作并不是一件愉快的事,这需要我们了解很多底层多媒体方面的知识。A...
从效率上来说,在+load 和+initialize里执行同样的代码,效率是一样的,即使有差距,也不会差距太大。
但所有的+load 方法都在启动的时候调用,方法多了就会严重影响启动速度了。就说我们项目中,有200个左右+load方法,一共耗时大概1s 左右,这块就会严重影响到用户感知了。
而+initialize方法是在对应 Class 第一次使用的时候调用,这是一个懒加载的方法,理想情况下,这200个+load方法都使用+initialize来代替,将耗时分摊到用户使用过程中,每个方法平均耗时只有5ms,用户完全可以无感知。
WWDC之优化App启动速度前言 在WWDC 2016上首次提到了关于App应用启动速度优化的话题:Session 406 Optimizing App Startup Time .该Session上A...
抱歉,暂时不考虑哈
RTL适配历程背景 阿拉伯语适配是一个比较麻烦的事情,不止在于它文案的适配,更多的是在于其语言习惯的变化。由从左到右(LeftToRight)的布局习惯变为了从右向左(RightToLef...
背景 阿拉伯语适配是一个比较麻烦的事情,不止在于它文案的适配,更多的是在于其语言习惯的变化。由从左到右(LeftToRight)的布局习惯变为了从右向左(RightToLef...
背景 iOS的启动过程一直比较神秘,这方面的资料也不是太多,大多数的资料都来自2016年WWDC的一篇视频,本文的大部分内容来自于视频,算是视频的一个归纳总结再加上自己的一点...
atomic后setter和getter是安全的
谈nonatomic非线程安全问题背景 由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash...
公司内部的库,跟业务比较耦合,暂时没法开源
谈nonatomic非线程安全问题背景 由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash...
这里应该是等待sync自己的block执行完成之后,sync就可以继续往下执行了
小笨狼漫谈多线程:GCD(一)多线程是程序开发中非常基础的一个概念,大家在开发过程中应该或多或少用过相关的东西。同时这恰恰又是一个比较棘手的概念,一切跟多线程挂钩的东西都会变得复杂。如果使用过程中对多线程...
getter和setter是线程安全的。真正对象的使用又是另一回事了
谈nonatomic非线程安全问题背景 由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash...
@zhiyiLiu 这是卓立提的pr,还没有合进去。crash的原因也是他发现的,我只是借花献佛。在没有点破之前,crash的原因真是很难想到
谈nonatomic非线程安全问题背景 由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash...
@大灰灰iOS 各种锁性能应该有不少人做过对比了,你可以搜一下
谈nonatomic非线程安全问题背景 由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash...