由於內存很小,所以我們要有技巧的利用內存。
原則一,常用的數據放在內存當中,不常用的用的時候纔讀入內存。
原則二,常用的數據如果太大,則不適宜放在內存。
基於上面兩條原則,用一個示例說明。 在開發過程中,圖片是大量需要的。比如背景圖片,常用到的,那麼我們就可以用下面的代碼讀取。
- 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中,不過要記得自己管理內存,小心內存溢出。