上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 一、图像从文件到屏幕过程首先明确两个概念:水平同步信号、垂直同步信号。CRT 的电子枪按照上图中的方式,从上到下一行一行的扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次的扫描。当电子枪切换到新的一行准备扫描时,显示器会发送一个水平同步信号(Horizonal Synchronization),简称HSync;完成一帧画面绘制后,电子枪会回到原位,显示器会发送一个垂直同步信号... 阅读全文
posted @ 2020-02-26 13:47 和风细羽 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 一、图片加载的工作流 概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流如下: 假设我们使用 +imageWithContentsOfFile: 方法从磁盘中加载一张图片,此时的图片并没有解压缩; 然后将生成的 UIImage 赋值给 UIImageView; 接着一个隐式的 CA 阅读全文
posted @ 2020-02-26 13:47 和风细羽 阅读(1680) 评论(0) 推荐(0) 编辑
摘要: Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alpha。游戏开发中会更加关注这个格式,省一些运行时计算。Premultiplied Alpha 是什么呢?Alpha Blending: To Pre or Not To Pre 这篇文章其实说的很清楚。还有《Real Time Rendering》一、Alpha Blendi... 阅读全文
posted @ 2020-02-26 13:46 和风细羽 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 一、前言 《iOS编译过程的原理和应用》文章介绍了 iOS 编译相关基础知识和简单应用,但也很有多问题都没有解释清楚: Clang 和 LLVM 究竟是什么 源文件到机器码的细节 Linker 做了哪些工作 编译顺序如何确定 头文件是什么?XCode 是如何找到头文件的? Clang Module 阅读全文
posted @ 2020-02-26 13:45 和风细羽 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 文章:皮拉夫大王在此 - iOS应用瘦身方法思路整理 一、iOS 内置资源的集中方式 1.1 将图片存放在 bundle 这是一种很常见的方式,项目中各类文件分类放在各个 bundle 下,项目既整洁又能达到隔离资源的目的。采用 bundle 的加载方式为 [UIImage imageNamed:" 阅读全文
posted @ 2020-02-26 13:43 和风细羽 阅读(914) 评论(15) 推荐(2) 编辑
摘要: FastImageCache 是 Path 团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。一、优化点iOS 从磁盘加载一张图片,使用 UIImageVIew 显示在屏幕上,需要经过以下步骤:从磁盘拷贝数据到内核缓冲区从内核缓冲区复制数据到用户空间生成 UIImageView,把图像数据赋值给 UIImageView如果图像数据为未解码的 P... 阅读全文
posted @ 2020-02-26 13:42 和风细羽 阅读(2131) 评论(0) 推荐(0) 编辑
摘要: 一、爱奇艺爱奇艺移动应用优化之路:如何让崩溃率小于千分之二iOS8 对于 App 的 text 段有 60MB 的限制;超过 200MB 的 App 需要连接 WIFI 下载(之前是 150MB)过大会导致启动慢,rebase/binding 时间长除去商店中 App 的简介、截图,很多用户都会关注 App 的大小,尤其是使用空间为 8G、16G 的用户安装包大小的优化,主要包含两大块:资源大小的... 阅读全文
posted @ 2020-02-26 13:42 和风细羽 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 在 WWDC 2016 上首次提到了关于 App 应用启动速度优化的话题:Session 406 Optimizing App Startup Time。一、冷启动与热启动热启动是,APP会恢复之前的状态继续运行,这种就是热启动,我们平时所说的APP在后台的存活时间,其实就是APP能执行热启动的最大时间间隔。而冷启动则是APP从被加载到内存到运行的状态,下面我们要讲的主要是冷启动。热启动:由于某种... 阅读全文
posted @ 2020-02-26 13:42 和风细羽 阅读(1464) 评论(0) 推荐(1) 编辑
摘要: 用 ARC 管理内存在正确的地方使用 reuseIdentifier尽量把 views 设置为完全不透明如果你有透明的 Views 你应该设置它们的 opaque(不透明)属性为 YES。例如一个黑色半透明的可以设置为一个灰色不透明的 View 替代。原因是这会使系统用一个最优的方式渲染这些 views。这个简单的属性在 IB 或者代码里都可以设定。Apple的文档对于为图片设置透明属性的描述是:... 阅读全文
posted @ 2020-02-26 13:41 和风细羽 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 前言iOS性能优化系列篇之“优化总体原则”不要提前过度优化要找到性能瓶颈要在不同性能指标间权衡要理解优化任务的底层运行机制要有技术保障体系一、启动速度优化1.1 学习文章WWDC 启动速度优化视频 Session 406 Optimizing App Startup TimeiOS性能(二) 启动时间优化1.2 操作步骤查看启动时间配置 Xcode 环境变量在日志中打印启动时间:打开工程 -> E... 阅读全文
posted @ 2020-02-26 13:41 和风细羽 阅读(1254) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页