美文网首页
iOS中UIImage加载图片

iOS中UIImage加载图片

作者: 傲骨天成科技 | 来源:发表于2020-04-07 13:43 被阅读0次

    一般我们加载项目中的图片会使用以下两种方式:
    1.imagedNamed
    2.imageWithContentsOfFile初始化

    1.imageNamed:

    该方法用于加载小图片/使用频率高的图片
    此方法加载过得图片, 在App运行期间, 始终会保有缓存, 这个缓存是由系统管理的, 无法通过代码销毁缓存
    当系统察觉到内存消耗过高, 就会自动释放这部分内存

    Search for an object whose name was set explicitly using the setName: method and currently resides in the image cache.
    该方法首先会从图片内存中查找
    Search the app's main bundle for a file whose name matches the specified string.
    如果没有找到, 就在App的mainBundle中查找
    Search the Application Kit framework for a shared image with the specified name.
    如果bundle中也没有, 就会去framework的库中寻找

    2. imageWithContentsOfFile

    该方法用于加载大图片/使用率较低的图片
    它只是加载一次图片, 并且不会做缓存, 当对象释放的时候, 内存也就被释放掉了
    因此对于不常用的图片应该使用这个方法

    其中:imagedNamed默认加载成功后会在内存中缓存图片。而imageWithContentsOfFile仅仅加载图片,不缓存。
    当大量使用imageNamed方式会在不需要缓存的地方增加CPU的开销,如果应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用imageWithContentsOfFile是最为经济的方式,这样不会因为UIImage元素较多情况下,CPU会被逐个分散在不必要缓存上浪费过多时间。
    imagedNamed是加载当前boundle中的图片。

    相关文章

      网友评论

          本文标题:iOS中UIImage加载图片

          本文链接:https://www.haomeiwen.com/subject/ipagphtx.html