Canoe

VCProfiler源码阅读

GitHub - panmingyang2009/VCProfiler: An easy and simple tool to measure the time cost of every view controller. VCProfiler 主要是利用 KVO 自动生成子类的特性来检测 ViewController 的加载时长,只需要一个分类,对原项目没有任何侵入性,而且检测效果准确。 痛点 ViewController 的时长检测可以更好的帮助我们发现页面......

SGPagingView源码阅读

GitHub - kingsic/SGPagingView: A powerful and easy to use segment control (美团、淘宝、京东、微博、腾讯、网易、今日头条等标题滚动视图) SGPagingView 是一个标题页面切换的库,实现起来也很简单,我在自己的项目中也封装了一个控制页面切换的类似的库,同时也很好......

理解Autoreleasepool

Autoreleasepool分析 main函数是整个程序的入口,从我们一进入main 函数就会接触到autoreleasepool。 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } 整个iOS应用都是包含在一个自动释放池block中。 使用clang -rewrite-objc对main.m编译之后我们会发现autoreleasepool@{}被转换成为一个__AtAutoreleasePool......

打探一款app的内部实现

相信每一名开发人员对于一款优秀产品的内部实现都会很好奇,而且现在app越来越多,竞品也是越来越多,我们对于其他app的内部实现方式的研究也越来越重要,会想知道某个核心功能使用了哪些第三方服务、数据......

Xcode Server自动打包

之前项目中一直使用的jenkins来持续集成,之后也使用过fastlane来自动打包,然而总感觉这两种打包方式集成起来较为复杂,对于证书配置以及Xcode版本更新变动的时候会很麻烦,那么有没有一种较为方便而且能满足我们需求......

APP启动时间优化

一、 APP启动过程 iOS应用的启动可分为pre-main阶段和main()阶段,其中系统做的事情依次是: 1.1 pre-main阶段 加载应用的可执行文件 加载动态链接库加载器dyld(dynamic loader) dyld递归加载应用所有依赖的dylib(dynamic library 动态链接库) 对于main函数之前的......

高质量iOS博客和网站

博客 有时候在查阅技术点时,会看到一些很好的文章,发现文章质量非常高以至于想要去了解作者,但是当时因为项目需要,没有时间去看其他的文章,过后经常又忘记在哪里看到的了,所以想要记录一些很有深度,质量......

项目内存优化

因为arc的缘故,现在很多的开发人员会将注意力放在业务模块,以至于疏忽了内存部分的优化,刚开始看不出什么问题,当上线之后或者项目慢慢庞大的时候,会出现各种各样的问题,因为内存问题相对于一般的问题来......