1、图片文件优化
图片文件优化包括文件格式和文件大小的优化,支持的图片格式主要是PNG、GIF和JPEG,
如果是本地资源的,优先使用PNG,如果资源来自于网络,最好采用JPEG,
如果仅适用一次推荐使用-initwithcontentoffile:创建
2、音频文件优化
背景音乐会在应用中反复播放,它会一直驻留在内存中并损耗CPU,所以更适合比较小的文件,一般用压缩文件。压缩文件分为MP3和AIFC,一般首选AIFC,这是苹果推荐的格式。如果有wav文件,首选wav文件。如果是特性的话,声音一般比较短,尽量用caff无压缩文件。
3、资源文件的延迟加载,一般用于图片,等图片需要展示时候再加载
4.故事板文件的延迟加载,
数据持久化的优化
一、使用文件,文件是数据持久化的重要载体。
1、文件访问的优化
最好当数据积攒到一定数量时一次写入,因为文件访问涉及到IO操作,频繁的IO操作会影响性能,所以最好将文件读写访问从主线程中剥离出来,由子线程负责,另外频繁的写入数据会影响设备闪存的寿命。
文件的写入应该采用增量方式,每次写入变化的部分,不要为改变几个字节写入整个文件
2、文件结构优化
文件保存数据,他就应该是优化结构。苹果的plist文件就是很少的结构化文件,其结构是层次模型的树形结构,层次的深浅会影响读写的速度,在满足用户需求的情况下,要减少层次深度。
3、文件大小优化
文件大小也是优化的重要指标,调整文件结构可以减少文件大小,此外,我们也可以通过序列化.plist来减少文件大小。Foundation框架提供了NSPropertyListSerialization类,有两个常用方法,
+dataWithPropertyList:format:options:error:按照指定格式和操作参数,序列化属性列表对象到NSData
+propertyListWithData:format:error:按照指定格式和操作参数,从NSData对象反序列化到属性列表对象中
3、使用SQLite数据库
当需要处理较大的数据集合时,就不能采用文件了,因为文件不支持事务处理,这时候我们可以选择SQLit数据库或者CoreData
sqlite
1、表结构优化。限制于移动设备硬件问题,手机中表结构不易太复杂,标的个数一般不要超过5个,字段也不宜太多。
2、查询优化。查询是衡量数据库性能的重要指标之一。在查询方面,可优化的有很多,例如建立索引、限制返回记录数和where条件字段等。
3、插入优化。索引可以提供查询性能,但是对插入和删除是有负面影响的。索引像书籍的目录,插入和删除数据必然造成索引重拍,所以创建索引要慎重。
网友评论