给AsyncDisplayKit(Texture)替换网络图片下载缓存框架

前言为了方便管理图片缓存,统一缓存文件夹和缓存方法,将AsyncDisplayKit自带的PINRemoteImage插件,替换为项目在用的Kingfisher、SDWebImage。import Kingfisher extension ASNetworkImageNode { static func imageNode() -> ASNetworkImageNode { ...

iOS开发 2020-08-03 PM 2180次 0条

容易被人忽略的 NSCache

第一次见到NSCache,是在SDWebImage中。SDWebImage的内存缓存机制就是通过NSCache完成的。所以可能你不太了解这个类,但是其实一直在使用它。为什么要使用NSCache?我们通常用缓存来临时存储短时间使用但创建昂贵的对象。重用这些对象可以优化性能,因为它们的值不需要重新计算。另外一方面,这些对象对于程序来说不是紧要的,在内存紧张时会被丢弃。如果对象被丢弃了,则下次使用...

iOS开发 2019-11-11 PM 2221次 0条

HTTP 协议中 GET 和 POST 的区别

关于HTTPHTTP(超文本传输协议)是一种请求/响应型的协议。HTTP的语法大致如下:客户端给服务端发送的请求,由三部分组成:请求行,消息报头,消息正文。请求行:Method Request-URI HTTP-Version CRLF例如: GET /form.html HTTP/1.1 /r/n服务端给客户端发送的响应,也是三部分组成:状态行,消息报头,响应正文。状态行:HTTP-...

iOS开发 2019-02-02 PM 526次 0条

聊聊 iOS 中的内存管理

对于开发者来说,内存管理几乎是一个永恒的话题。内存管理对于编写出高效率的 iOS APP 是非常重要的,这是因为iOS是多任务系统,在同一时刻可能有多个应用程序共享内存,有时为了使某个任务更好地执行,iOS系统可能会对其它任务分配的内存进行移动,甚至删除。现在被广泛使用的内存管理机制主要有GC和RC两种。GC:垃圾回收机制,定期查找不再使用的对象,释放对象占用的内存。RC:引用计数机制,采用...

iOS开发 2018-08-23 PM 522次 0条

聊聊 isa 和引用计数

大家都知道内存管理是通过引用计数管理对象的生命周期。那isa和引用计数又有什么关系呢?先留着疑问。isa指针/// An opaque type that represents an Objective-C class. typedef struct objc_class *Class; /// Represents an instance of a class. struct objc_...

iOS开发 2018-05-03 PM 680次 0条