23 内存的使用和优化注意事项

1尽量把views设置为不透明的,当opque为NO时,图层的半透明取决于图片和其本身合成的图层,可提高性能

2不要使用太复杂的xib和sb:因为载入时就会将XIB、SB需要的所有资源,包括图片全部载入内存,相比纯代码写的延迟加载,性能及内存方面差了很多

3对于不需要马上显示的视图,使用延迟加载,比如说 网络请求失败时显示的提示界面,可能一直用不到

4数据缓存:对于cell的行高要缓存起来,使得reload数据时,效率也极高。而对于那些网络数据,不需要每次都请求的,应该缓存起来,可以写入数据库,也可以通过plist文件存储。

5处理内存警告:一般在基类统一处理内存警告,将相关不用资源立即释放掉

6重用大开销对象:一些objects的初始化很慢,比如NSDateFormatter和NSCalendar,但又不可避免地需要使用它们。通常是作为属性存储起来,防止反复创建。

7避免反复处理数据:许多应用需要从服务器加载功能所需的常为JSON或者XML格式的数据。在服务器端和客户端使用相同的数据结构很重要;

8使用Autorelease Pool:在某些循环创建临时变量处理数据时,自动释放池以保证能及时释放内存;

9UIImage imageNamed:  这个方法会默认从本文件的bundle加载图片,调用的时候,默认会缓存图片,不加后缀名,  如果不想让它图片缓存,就使用imageWithContentsOfFile,通过NSBundle获取文件路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面试题参考1 : 面试题[http://www.cocoachina.com/ios/20150803/12872...
    江河_ios阅读 1,768评论 0 4
  • 转载自:http://www.cnblogs.com/CoderAlex/p/5264070.html性能对 iO...
    liuning_leo阅读 891评论 0 6
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 1,463评论 1 27
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,241评论 30 472
  • 文章内容
    胡先生你好阅读 135评论 3 0