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"]];

  • 相关阅读:
    C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
    循环练习
    ArrayList集合

    方法
    表单标签
    HTML基础
    二维数组
    一维数组
    switch选择结构
  • 原文地址:https://www.cnblogs.com/SnowStark/p/5603123.html
Copyright © 2011-2022 走看看