如何在 iOS 中解决循环引用的问题

稍有常识的人都知道在 iOS 开发时,我们经常会遇到循环引用的问题,比如两个强指针相互引用,但是这种简单的情况作为稍有经验的开发者都会轻松地查找出来。 但是遇到下面这样的情况,如果只看其实现代码,也很难仅仅凭借肉眼上的观察以及简单的推理就能分析出其中存在的循环引用问题,更何况真实情况往往比这...

2017-12-08 15:06:46

阅读数:293

评论数:0

FBRetainCycleDetector源码分析

概述 FBRetainCycleDetector是facebook开源的一个用来检测对象是否有强引用循环的静态库。 strong和weak strong和weak在声明中使用表示这是一个强引用还是弱引用对象。 强引用:只要引用存在,对象就不能被销毁。弱引用:弱引用不会导致对象不能销毁,只要没有...

2017-12-07 23:17:34

阅读数:421

评论数:0

Friday Q&A : 动手实现 objc_msgSend

作者 Mike Ash 原文地址 objc_msgSend 函数支撑了我们使用 Objective-C 实现的一切。Gwynne Raskind,Friday Q&A 的读者,建议我谈谈 objc_msgSend 的内部实现。要理解某件事还有比自己动手实现一次更好的方法吗?咱们来自己...

2017-12-07 15:42:05

阅读数:68

评论数:0

iOS 异步图片加载优化与常用开源库分析

1. 网络图片显示大体步骤: 下载图片图片处理(裁剪,边框等)写入磁盘从磁盘读取数据到内核缓冲区从内核缓冲区复制到用户空间(内存级别拷贝)解压缩为位图(耗cpu较高)如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对齐CoreAnimation渲染解压缩...

2017-12-02 23:13:26

阅读数:180

评论数:0

iOS图片加载速度极限优化—FastImageCache解析

FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。 优化点 iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤: 从磁盘拷贝数据到内核缓冲区 从内核缓...

2017-12-01 23:03:00

阅读数:98

评论数:0

iOS App 稳定性指标及监测

前言 一个iOS App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。尤其因为苹果限制了热更新机制,App本身的稳定性及容错性就显的更加重要,之前可以通过发布热补丁的方式解决线...

2017-12-01 21:17:47

阅读数:427

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭