由于内存很小,所以我们要有技巧的利用内存。
原则一,常用的数据放在内存当中,不常用的用的时候才读入内存。
原则二,常用的数据如果太大,则不适宜放在内存。
基于上面两条原则,用一个示例说明。 在开发过程中,图片是大量需要的。比如背景图片,常用到的,那么我们就可以用下面的代码读取。
UIImage *myImage = [UIImage imageNamed:@"icon.png"];
如果不常用的图片,那么可以用
NSString *path = [[NSBundle mainBundle] pathForResource:@"icon" ofType:@"png"]; myImage = [UIImage imageWithContentsOfFile:path];
或用
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension]; NSData *imageData = [NSData dataWithContentsOfFile:fileLocation]; [UIImage imageWithData:imageData];
这样每次都I/O去读取图片数据,而不是把数据放在cache中,不过要记得自己管理内存,小心内存溢出。
本文介绍了iOS开发中如何有效管理内存的方法,提出了两个基本原则:常用数据存放内存;非常用数据按需读取。通过示例代码展示了不同情况下图片加载方式的选择。
2574

被折叠的 条评论
为什么被折叠?



