上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: 通常设置圆角方式imageView.clipsToBounds = YES;imageView.layer.cornerRadius = 50;这样设置会触发离屏渲染,比较消耗性能。比如当一个页面上有十几个头像,这样设置了圆角会明显感觉到卡顿。注意:UIImageView 处理png 图片的圆角是不会产生离屏渲染的。(iOS9.0 之后不会离屏渲染,iOS9.0 之前还是会离屏渲染)。一、设置圆... 阅读全文
posted @ 2020-02-26 13:41 和风细羽 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 一、屏幕显示图像的原理首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描。为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号。当电子枪换到新的一行,准备进行扫描时,显示器会发出一个水平同步信号(horizonal synchronizati... 阅读全文
posted @ 2020-02-26 13:40 和风细羽 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 一、屏幕显示图像原理首先明确两个概念:水平同步信号、垂直同步信号。CRT 的电子枪按照上图中的方式,从上到下一行一行的扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次的扫描。当电子枪切换到新的一行准备扫描时,显示器会发送一个水平同步信号(Horizonal Synchronization),简称HSync;完成一帧画面绘制后,电子枪会回到原位,显示器会发送一个垂直同步信号(V... 阅读全文
posted @ 2020-02-26 13:39 和风细羽 阅读(225) 评论(0) 推荐(0) 编辑
摘要: iOS 性能调试instrumentInstrumentInstrument之Core Animation工具避免图层混合①、确保控件的opaque属性设置为true,确保backgroundColor和父视图颜色一致且不透明;②、如无特殊需要,不要设置低于1的alpha值;③、确保UIImage没有alpha通道;避免临时转换①、确保图片大小和frame一致,不要在滑动时缩放图片;②、确保图片颜... 阅读全文
posted @ 2020-02-26 13:39 和风细羽 阅读(222) 评论(0) 推荐(0) 编辑
摘要: title: iOS Crashcategories: iOS优化Understanding and Analyzing Application Crash Reports稳定性APP 稳定性方面主要是减少异常及崩溃,针对这部分,可以从 Category、Method Swizzling 以及静态分析来入手。1.1 Category 分析Category可以为现有的类添加方法,但是Category... 阅读全文
posted @ 2020-02-26 13:38 和风细羽 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 使用 UITableView 时,发现滚动时的性能还不错,但来回滚动时,第一次显示的图像不如再次显示的图像流畅,出现前会有稍许的停顿感。于是猜想显示过的图像肯定是被缓存起来了,查了下文档后发现果然如此。在《Improving Image Drawing Performance on iOS》一文中找到了一些提示:原来在显示图像时,解压和重采样会消耗很多 CPU 时间;而如果预先在一个 bitmap... 阅读全文
posted @ 2020-02-26 13:38 和风细羽 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 一、接口请求优化在工程项目中,多个一级界面包含状态,如:服务入口的动态配置,未读消息数量,图片文字等,因此产品设计要每次切换 tab 时都请求数据,及时的更新页面状态。在实际开发中,频繁的调用接口,频繁的刷新界面显然是影响用户体验的,所以需要进行优化,优化的思路有以下几点:使用 loading + 默认灰色矩形视图;每隔 15s 以上才请求一次,防止频繁触发请求@property (nonatom... 阅读全文
posted @ 2020-02-26 13:38 和风细羽 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一、Cell 复用在可见的页面会重复绘制页面,每次刷新显示都会去创建新的 Cell,非常耗费性能。解决方案:创建一个静态变量 reuseID,防止重复创建(提高性能),使用系统的缓存池功能。static NSString * CELL_RUID = @"CELL"; // 调用次数太多,static 保证只创建一次 reuseID,提高性能- (UITableViewCell *)tableV... 阅读全文
posted @ 2020-02-26 13:37 和风细羽 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 一、探究NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"yyyy-MM-dd"];NSString * current = [dateFormatter stringFromDate:[NSDate date]];关于 NSDateFormatter 创建... 阅读全文
posted @ 2020-02-26 13:37 和风细羽 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 一、图片显示图片的显示分为三步:加载、解码、渲染。解码和渲染是由 UIKit 进行,通常我们操作的只有加载。以 UIImageView 为例。当其显示在屏幕上时,需要 UIImage 作为数据源。UIImage 持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。当 UIImage 被赋值给 UIImage 时(例如 imageView.image = image;),图像数据会被解码,变成... 阅读全文
posted @ 2020-02-26 13:36 和风细羽 阅读(973) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页