zoukankan      html  css  js  c++  java
  • iOS 图片加载

    你还在使用myImage = [UIImage imageNamed:@"icon.png"];吗???!!!   

    如题,是不是大家为了方便都这样加载图片啊 
    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]; 

    不过这种方法要注意了,如果有高清图,也就是@2x的,就不能自动获取到了,自己把握吧,做ui可以用imageNamed,要处理的大图就别这样加载了 


    // 会缓存图片 
    UIImageView *wallpaper = [[UIImageView alloc] initWithImage: 
    wallpaper = [UIImage imageNamed:@"icon.png"]]; 

    // 不会缓存图片 
    UIImageView *wallpaper = [[UIImageView alloc] initWithImage: 
    wallpaper = [UIImage imageWithContentsOfFile:@"icon.png"]];

  • 相关阅读:
    Pycharm 2016 注册码
    在mac上搭建python环境
    Carthage 的使用
    生成唯一的随机字符串
    utf-8 转码--网址转码
    让自己的项目支持 Carthage
    系统自带的语音合成
    个性化 UIAlertController
    cocoaPods 创建自己的依赖库
    appleDoc 使用
  • 原文地址:https://www.cnblogs.com/SnowStark/p/5603123.html
Copyright © 2011-2022 走看看