前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新频率同步绘图...
前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新频率同步绘图...
先了解一下应用启动之后,做了什么。main.m 中的 main() 是程序的入口,但在进入 main 函数之前,程序就执行了很多代码(不然也不会启动那么久)。启动后执行顺序:...
GitHub 地址:YBTaskScheduler 支持 cocopods,使用简便,效率不错,一个性能优化的基础组件。 前言 前些时间有好几个技术朋友问过笔者类似的问题:主...
今天我们讨论的hook方式仅仅是指Method Swizzle,fishhook、Cydia Substrate 等方式不在今天的讨论范畴。 hook load方法我们主要面...
疑问? 在iOS中,经常需要用到线程的概念,尤其是类似UI绘制等操作,苹果也明确规定必须在主线程进行绘制,那么,我们如何来判断当前所在的线程呢?不同的判断方法又有何区别呢? ...
“当启动App之后会运行5秒,这个时间是默认的,可以自己进行更改。” 这个在哪里可以改
使用Instruments - App Launch查看启动问题Instruments App Launch的用法 XCode11之后,Instrument提供了App Launch工具,可以用于查看App的启动过程,从而可以针对性的对启...
最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynami...
在 WWDC 2016 和 2017 都有提到启动这块的原理和性能优化思路,可见启动时间,对于开发者和用户们来说是多么的重要,本文就谈谈如何精确的度量 App 的启动时间,启...
一. 格式规范 1.1 使用4个空格进行缩进 推荐 1.2 二元运算符(+, ==, 或->)的前后都需要添加空格 推荐 1.3 一般情况下,在逗号和冒号后面加一个空格 推荐...
MVC对于iOS开发的意义 对于iOS开发而言 始终无法绕开UIKit这个框架, 加之SwiftUI并不成熟, 所以你懂的, 而UIKit框架就是基于的MVC的设计模式, 所...
前言 分享一个小工具 , 可以用来查看到你项目中的代码数量 , 满足一些童鞋的好奇心 , 当然在做项目汇报的时候也可以有所帮助. 介绍 CLOC (Count Line of...
用id修饰和NSObject *修饰有何不同? 要详细了解两者的不同,需要先说一说Objective-C中的动态类型和静态类型。 动态类型动态类型指的是对象指针类型的动态性,...
请问以下代码执行结果是什么: 运行结果:崩溃(坏内存访问) 原因分析:因为setter方法中,对strong修饰的属性会有一个retain和release的操作。在并发多线程...
最近出现了几篇关于二进制重排启动优化的文章。所有方案中都需要事先统计所有的函数调用情况,并根据函数调用的频次来进行代码的重排。 这些函数调用中,OC对象的方法调用最多。统计O...
前言 自2016年8月至2017年10月,今日头条iOS端已经进行了3轮安装包大小优化。 2016.08-2016.10第一期优化78MB -> 42MB (1)删除Swif...