程序开发完成之后,经历了很长的一段优化期,以下是根据代码情况以及应用程序的内存进行的相关优化心得,比较基础的一些优化,以后有学到更多的优化后期会继续更新此文
一,本地图片的优化
1,非代码优化。
选择的是个ImageOptim这个工具,把需要导入项目的图片,或者是已经导入到项目里的图片拖至此工具中进行优化。这个操作大概可以省1/3的内存出来
2,代码优化。
1)关于图片优化,本地图片尽量使用PNG格式,网络上的图片使用JPEG格式,因为JPEG格式大小比PNG小不少。
2)本地图片经常使用的用ImageNamed方法添加到内存中去,在内存中会缓存下来,当重复或大量用到此图片时不会重新加载,应用结束时才会被释放,经常使用的图片比如导航图、logo使用此方法。
(1)加载内存当中之后,会一直停留在内存当中,不会随着对象的销毁而销毁。
(2)加载进去图片之后,占用的内存归系统管理,我们无法管理。
(3)相同的图片,图片不会重复加载。
(4)加载到内存中后,占据内存空间较大。
图片资源大的使用initWithContentOfFile此方法不会缓存,当对象被释放时图片资源也会被释放。
(1)加载到内存当中后,占据内存空间较小。
(2)相同的图片会被重复加载内存当中。
(3)对象销毁的时候,加载到内存中图片会随着一起销毁。
二、不要用xib来拖拉控件!尽量不要添加xib文件。
做过大项目的人也许会发现,很多的xib会特别大的增加App的内存,在优化内存的时候,不妨把xib文件删除 选择全代码来开发。真的是节省一大笔的内存!!!
三、封装
app中比较常用到的工具,比如相册、请求、loading等,这种很多模块都用到的东西,建议大家将代码封装下来,用到时去调用,这样可以节省不少的代码量。
网友评论