- 1、耗时操作异步线程,数据处理计算异步
- 2、减少离屏渲染(渐变,阴影,圆角等),使用离屏渲染的时候会很容易造成性能消耗,因为在OPENGL里离屏渲染会单独在内存中创建一个屏幕外缓冲区并进行渲染,而屏幕外缓冲区跟当前屏幕缓冲区上下文切换是很耗性能的。
- 3、减少视图层级,尽量避免alpha叠加,图片最好不使用alpha通道,alpha叠加合成操作,这是一项看似很简单但却是非常消耗CPU性能的操作。
- 4、图片加载方式,频繁使用的小图使用imageNamed(缓存到内存中,需要手动清理),使用次数很少的大图使用imageWithContentOfFile(使用完图片的时候会立即丢弃释放资源)
- 5、复杂的页面,视图变量很多的时候,尽量懒加载,使用的时候再初始化
- 6、cell复用,cell样式比较多的时候,可以多建几个cell,避免一个cell里面各种判断运算,动态cell使用预估行高,只会先计算显示的cell高度,否则会先计算所有cell高度,缓存行高,避免重复运算,对于那种复杂的滑动界面,xib其CPU的资源远远大于纯代码布局。不信的可以试试用性能工具timeProfie看看CPU所占的性能百分比
- 7、滚动视图,可以设置加载策略,快速滑动时可以忽略加载,滚动停止或者减速时加载
- 8、高并发下使用队列控制并发数,比如高并发下消息处理及动画等,不要全部一下计算显示,限制同时最多处理数
- 9、清屏、退后台等时停止处理各种逻辑
- 10、tableview,collectionview 减少频繁刷新,尤其reloadData刷整个view
- 11、减少定位频繁使用,计算坐标会不断的使用 CPU 和 GPS
- 12、避免创建很多定时器,大量定时器会很耗性能
iOS开发容易造成卡顿的一些注意事项
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...