-
多环境配置
Project : 包含了项目所有的代码、资源文件和所有信息。
Target : 对指定代码和资源文件的具体构建方式。
Scheme : 对指定的Target的环境配置
在实际开发中,我们必须要进行网络请求(内网和外网),而网络请求则就...
-
简介CoreText 是用于处理文字和字体的底层技术。它直接和 Core Graphics(又被称为Quartz)打交道。Quartz是一个2D图形渲染引擎,能够处理OSX和iOS中图形显示问题。与其他UI组件相比,由于CoreText直接和Quar...
-
前言本文主要讲解两种 野指针检测 的原理和实现
技术点:野指针探测本文的主要目的是理解 野指针 的形成过程以及如果去 检测野指针
引子在介绍野指针之前,首先说下目前的异常处理类型,附 苹果官网链接
异常类型异常类型分为两类:
软件异常:主要来自 ...
-
简介SDWebImage 是一个 异步加载图片的库,提供了一个UIImageView+WebCache类支持来自互联网的远程图片,具有缓存管理、异步下载、同一个URL次数控制和优化等特征。
SDWebImage 加载图片的流程
通过 UIImageV...
-
前言本文主要讲组件化之间是如何 通讯 的
组件化通讯方案目前的主流方式有三种:
URL 路由
target-action
protocol 匹配
URL路由目前iOS上大部分路由工具都是基于URL匹配的,或者根据命名约定,用runtime方...
-
组件化方案
常用的组件化方案主要有两种:
本地组件化:主要是通过在 工程中创建library,利用 cocoapods 的 workspec 进行本地管理,不需要将项目上传git,而是直接在本项目中以 framework 的方法进行调用
coco...
-
前言本文主要讲:
卡顿原理:卡顿的原因 - 掉帧
卡顿检测工具
实战项目优化
界面卡顿通常来说,计算机中的显示过程是下面这样的,通过 CPU、GPU、显示器 协同工作来将图片显示到屏幕上的
CPU 计算好显示的 内容,提交到 GPU
GPU...
-
前言本文主要分析 AutoReleasePool 以及 NSRunLoop 的底层实现
AutoReleasePool 自动释放池自动释放池 是OC中的一种 内存自动回收机制,它可以将加入 AutoReleasePool 中的 变量release的...
-
前言本文主要是通过 定时器 来梳理 强引用 的几种解决方案
強应用(強持有)假设有 A和B 两个页面,从A push 到B页面,在B页面中有如下定时器代码,当从B pop 回到A界面时,发现定时器没有停止,其方法仍然在执行,为什么?
12self.t...
-
前言本文主要是分析内存管理中的内存管理方案,以及 retain、retainCount、release、dealloc 的底层源码分析
ARC & MRCiOS中的内存管理方案,大致可以分为两类:MRC(手动内存管理) 和 ARC(自动内存管...