通常I/O操作,需要经过CPU处理,从网络、内存、磁盘读取数据,最终都会影响电量的消耗。所以,在一般应用开发中,合理的处理I/O操作,对提升应用的性能至关重要,I/O优化遵循以下四个原则:
1.减少I/O操作
一种方式是采取缓存的方式,比如读取磁盘的数据是非常昂贵的,我们对磁盘读取出来的数据尽量的缓存起来,不要每次都去磁盘读取。
另一种方式是通过合并I/O操作的方式,比如我们打开一个定时器,每隔一段时间去访问一次文件,但很多时候文件并没有发生变化,这样访问是没有意义的,我们可以将访问的频率修改为当文件每发生一次变化,我们再每隔一段时间去访问数据。
2、使用正确的线程处理I/O
应用启动后,会开启一个主线程,处理用户的输入输出及界面绘制,如果我们把一些比较耗时的操作放到主线程后,将会大大降低应用处理用户交互的行为,会使用户感觉到卡顿,不流畅等问题。所以,耗时的操作要放到子线程去做,等任务结束后,再去通知主线程更新界面;
3、采用合适高效的API处理I/O
苹果提供了Asset图片管理器的方式去管理应用里用到的素材,通过这种方式,系统可以快速的找到图片的位置,进而减少图片读取的时间,imageNamed的方式加载图片,系统也做了缓存,对于加载过的图片,系统下次加载的话,可以快速的读取到图片的内容。
图片的渲染方式也有很多种方式,通过UIImageView,CoreGraphics、CoreImage三种方式,加载UIImage的过程需要经过解码、绘制的过长,特别是解码是一个非常耗时的操作,这方面也可以优化,提升应用的性能;
4、对应用的性能进行I/O性能测试和测量
苹果提供了很多工具,可以通过Time Profiler工具去检测应用里的耗时操作,进而去具体优化;
以上4中为I/O优化的方法,具体在开发过程中,需要从多方面考虑影响应用性能的条件,进而提升应用的整体性能。
网友评论