iOS性能优化07-启动优化01-冷启动简介
APP的启动可以分为2种:
冷启动(Cold Launch):从零开始启动APP
热启动 (Warm Launch):APP已经在内存中,在后台存活着,再次点击图标启动APP
APP启动时间的优化那我们通常所说的启动时间优化都是再说的冷启动的时间优化,其实Xcode是提供给我们一种分析启动时间 ...
iOS性能优化06 - 耗电优化
耗电的主要来源
CPU处理,Processing
网络, Networking
定位,Location
图像,Graphics
耗电优化的几条建议
尽可能降低CPU、GPU功耗
少用定时器
优化I/O操作
尽量不要频繁写入小数据,最好批量一次性写入
读写大量重要数据时,考虑使用di ...
iOS性能优化05-卡顿优化03-卡顿监测
平时所说的”卡顿“主要是因为在主线程执行了比较耗时的操作阻塞了主线程造成的
可以添加Observer到主线程Runloop中,通过监听Runloop状态切换的耗时,以达到监控卡顿的目的
下面我们来具体看看如何用代码实现
首先我们先看看Runloop的运行逻辑
我们知道我们主线程大部分的操作( ...
iOS性能优化04-卡顿优化02-GPU
尽量减少视图数量和层次
尽量避免短时间内大量图片的显示,尽可能将多张图片合成一张进行显示
减少透明的视图(alpha<1),不透明的就设置opaque为YES
GPU能处理的最大纹理尺寸是4096*4096,一旦超过这个尺寸,就会占用CPU资源进行处理,所以纹理尽量不要超过这个尺寸
...
iOS性能优化03-卡顿优化01-CPU
尽量使用轻量级的对象,比如用不到事件处理的地方,可以考虑使用CALayer取代UIView
不要频繁的调用UIView的相关属性,比如frame、bounds、transform等属性,尽量减少不必要的修改
尽量提前计算好布局,在有需要时一次性调整对应的属性,不要多次修改属性
Autolay ...
iOS性能优化02-产生卡顿的原因
卡顿产生的主要原因CPU和GPU所花费的时间太长从而造成俗称的丢帧(掉帧)
我们以下图为例,红色代表CPU,绿色代表GPU
首先把CPU把计算好的数据交给GPU去渲染,紧接着来一个VSync(垂直同步信号)就会把刚CPU计算好并且GPU渲染好的数据展示到屏幕上完成这一帧的显示,注意一旦发生一 ...
iOS性能优化01-CPU和GPU
在屏幕成像的过程中,CPU和GPU起着至关重要的作用
CPU(Centeral Processing Unit,中央处理器)对象的创建和销毁,对象属性的调整,布局计算,文本的计算和排版,图片的格式转换和解码、图像的绘制(Core Graphics)
GPU(Graphics Processing ...
宏和const的区别
1、编译的时刻不一样2、
const的简单实用
const作用:1.修饰右边基本变量或者指针变量 int a int *p 2.被const修饰变量只读
int * const p; //p只读,*p可以改
int const * p; //*p只读, p可以 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in ...