`
浮生长恨
  • 浏览: 212822 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

imageNamed 与 imageWithContentsOfFile的区别(转)

阅读更多


如题,是不是大家为了方便都这样加载图片啊

myImage = [UIImage imageNamed:@"icon.png"];
那么小心了
这种方法在一些图片很少,或者图片很小的程序里是ok的。
但是,在大量加载图片的程序里,请千万不要这样做。
为什么呢 ???????

这种方法在application bundle的顶层文件夹寻找由供应的名字的图象 。 如果找到图片,装载到iPhone系统缓存图象。那意味图片是(理论上)放在内存里作为cache的。

试想你图片多了,是什么后果``````
图片cache极有可能不会响应 memory warnings and release its objects

所以,用图片的时候一定要小心的alloc和release
推荐使用
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];
myImage = [UIImage imageWithContentsOfFile:path];


原地址:http://www.iloss.me/2011/10/08/imagenamed-%E4%B8%8E-imagewithcontentsoffile%E7%9A%84%E5%8C%BA%E5%88%AB/

分享到:
评论

相关推荐

    UIImageView 两种制作帧动画的方式

    区别在于imageNamed:在加载图片时会根据名字在主目录中查找,首先会在内存缓存中查找,如果没有再从磁盘缓存中获取,之后系统会缓存该图片到内存中。 imageWithContentsOfFile:仅加载图片,图像数据不会缓存。 以...

    DFT的matlab源代码-opencvLib:使用opencv实现对图片明水印、暗水印、信息存储像素、傅里叶转换等

    DFT的matlab源代码 opencvLib 包含opencv的静态库 OpenCVLibz.framework是真机release、 OpenCVLibm.framework是模拟器release、 OpenCVLib.framework是合并真机和模拟器release ...imageNamed:image

    tom猫游戏源码 iOS

    ios开发的tom,全部素材和源代码,战士部分代码 //调用button监听方法 -(IBAction)tomAction:(UIButton *)button{ ... UIImage *image = [UIImage imageWithContentsOfFile:path]; arrayM[i] = image; };

    IOS应用源码Demo-小图对大图切换效果-毕设学习.zip

    2. **图片加载**:通常,图片数据存储在网络或本地资源中,我们需要使用UIImage的imageNamed:或imageWithContentsOfFile:方法加载图片。如果图片较大,可能需要考虑异步加载和缓存策略,以避免阻塞主线程。 3. **...

    ios-适合新手的轮播图工具,可网络可本地,可监听点击事件。.zip

    2. **本地加载**:支持加载设备存储中的图片,可能通过UIImage的imageNamed:或imageWithContentsOfFile:方法实现。 3. **监听点击事件**:用户点击轮播图时,开发者可以接收到相应的通知,以便执行相应操作,如跳转...

    UIImage加载图片Images.xcassets加载方法的影响

    在加载图片时,我们通常会涉及到两种主要的方法:`+imageNamed:` 和 `+imageWithContentsOfFile:`。这两种方法有着不同的特性和适用场景,尤其是在与Images.xcassets配合使用时,它们的影响更加显著。 首先,我们来...

    IOS应用源码——图片展示.rar

    `+imageNamed:`方法常用于加载已知名称的图片资源,而`+imageWithContentsOfFile:`或`+imageWithData:`则用于加载文件系统中的图片或网络数据。 3. **内存管理与优化**: 在显示大量图片时,要考虑到内存管理。...

    UIImageView、深入解析UIImageView

    UIImage *images = [UIImage imageWithContentsOfFile:filePath]; [imageView setImage:images]; ``` 3. **使用 NSData 加载图像**: ```objective-c NSData *data = [NSData dataWithContentsOfFile:...

    iOS 开发中总结的各种工具类。

    在实际开发中,可能会遇到的问题包括图片的内存管理和性能优化,例如使用`imageWithContentsOfFile:`或`imageNamed:`来加载图片,以及利用异步加载避免阻塞主线程。此外,工具类可能还包括从网络或bundle中加载图片...

    ios-LoadImage.zip

    开发者可以通过缩放图片、使用适当的图片格式(如PNG、JPEG)或者利用`UIImage`的`imageWithContentsOfFile:scale:`方法来调整图片尺寸。如果"LoadImage"项目提供了这方面的代码示例,那么对于学习图片优化非常有...

    斯坦福大学开放课程:iOS开发教程2010年秋(Lecture 9)

    - 从文件系统加载:`UIImage *image = [UIImage imageWithContentsOfFile:(NSString *)path];` - 从原始数据(如网络来源)加载:`UIImage *image = [[UIImage alloc] initWithData:(NSData *)data];` - **...

    image 切换

    例如,使用`UIImage`的`imageWithContentsOfFile:`加载本地图片,使用`NSData`的`dataWithContentsOfURL:`加载网络图片,或者使用`NSBundle`的`pathForResource:ofType:`方法获取资源路径后再加载。 总结来说,...

    ios-首页轮播图.zip

    使用`UIImage`的`imageWithContentsOfFile:`或`imageNamed:`方法加载图片,可以利用缓存机制提高性能。同时,根据屏幕尺寸动态调整图片大小,避免加载不必要的像素。 7. **布局与约束**: - 在使用Auto Layout的...

    ios-添加图片.zip

    开发者可以通过初始化方法如`+imageNamed:`或`+imageWithContentsOfFile:`来加载图片,然后将其设置给UIImageView对象进行显示。 3. UIImageView: `UIImageView`是用于展示图片的视图。你可以通过设置其`image`...

    iOS 图片预览,删除

    对于大图预览,可以使用`UIImage`的`imageWithContentsOfFile:`或`imageNamed:`方法按需加载,避免一次性加载所有图片导致内存占用过高。同时,可以使用`SDWebImage`或`Kingfisher`这样的第三方库来缓存图片,减少...

    ios开发经验和技巧

    在iOS开发中,经验与技巧的积累对于提升项目的质量和效率至关重要。本文将分享一些资深iOS开发者在实践中总结的关键知识点。 首先,我们来讨论内存管理。在iOS开发中,内存管理是优化应用性能的关键。特别是在涉及...

    点击放大图片.zipIOS应用例子源码下载

    可能需要使用imageWithContentsOfFile:或imageNamed:方法来加载图片,以利用缓存机制。 8. **代码结构**:良好的代码组织和模块化设计可以使代码易于理解和维护。源码示例可能包含单独的类或扩展来处理图片放大逻辑...

    iOS图片浏览器, 点击放大全屏显示, 再点击回到原来位置

    可以使用UIImage的imageNamed(_:)或imageWithContentsOfFile(_:)-方法从本地资源加载图片,或者利用SDWebImage等第三方库从网络加载图片并缓存。如果图片过大,还可以使用UIImage的imageWithCGImage(_:scale:...

Global site tag (gtag.js) - Google Analytics