在iOS开发中生成一个UIImage对象的方法通常有两种
1.利用imageNamed方法
2.使用imageWithContentsOfFile
下面介绍这两中方法的区别:
imageNamed,从应用bundle中寻找图片加载到缓存中,适用于图片较小或经常使用。加载图片太大容易产生内存泄漏
imageWithContentsOfFile:

NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
UIImage *image = [UIImage imageWithContentsOfFile:filePath];

使用时稍微麻烦一点,以文件数据形式被加载。返回的对象不会保存在缓存中,一旦对象销毁就会释放内存。

然后,项目中图片资源存放一般会有两种形式:存放在Assets目录下 和 存放在项目根目录下自行管理,都是打包在mainBundle文件中,其中

Assets.xcassets在app打包后,以Assets.car文件的形式出现在bundle中。其作用在于:

  • 自动识别@2x,@3x图片,对内容相同但分辨率不同的图片统一管理。
  • 可以对图片进行剪裁和拉伸处理。

imageWithName既可以加载Assets目录下的资源也可以加载项目自定义的图片文件路径,区别是 :

1.加载Assets目录下的图片对格式有要求,必须是png格式

2.加载自定义图片路径时不能简写图片名,需要带上图片的扩展名:如:

    // pic.jpg处于根目录下  [UIImage imageNamed:@"pic"]; // 错误,图片未能正确加载  [UIImage imageNamed:@"pic.jpg"]; // 正确  

然而 imageWithContentsOfFile 只能加载到自定义的图片管理路径中的图片资源,加载不到Assets目录下的图片

IOS 本地图片加载相关推荐

  1. veImageX 演进之路:iOS 高性能图片加载 SDK

    动手点关注 干货不迷路 1.  SDK简介 图片在业务应用场景是一个常见的元素,veImageX(简称ImageX)为业务提供了灵活.高效的一站式图片处理解决方案,包括了服务端 SDK.上传 SDK ...

  2. Android 自定义本地图片加载库,仿微信相册

    总结一下微信的本地图片加载有以下几个特点,也是提高用户体验的关键点 1.缩略图挨个加载,一个一个加载完毕,直到屏幕所有缩略图都加载完成 2.不等当前屏的所有缩略图加载完,迅速向下滑,滑动停止时立即加载 ...

  3. Flutter 本地图片加载不出来

    pubspec.yaml 中添加 项目根目录/assets/images/ 中是存在该图片的 但图片无论怎么刷新都加载不出来,根据文档反复对了很多次,实在找到不到代码在哪里出了问题. 重点来了-重新启 ...

  4. 【Vue】关于开发中本地图片加载失败的经验总结

    文章目录 1. 图片存放在assets 2. 图片存放在static中 3. 其他需要注意的点 我的源码: img或者el-avatar中的src没有提供静态值,而是绑定一个动态变量,如果这个变量的路 ...

  5. vue3本地图片加载不出来,解决方法

    先引入本地图片 直接应用

  6. Windows下在VS-Code将本地图片加载至资源文件【可使用】

    目录 背景: 1)开发环境 2)问题描述 3)问题原因 解决步骤 1.vs-code-resource资源文件中添加本地图片 2.修改[resource.qrc]文件 背景: 1)开发环境: wind ...

  7. ElementUI - <el-image> src 属性使用本地图片加载失败解决方案

    前言 如下代码所示,会造成加载失败: <el-image style="width:50px; height:50px;" src="../assets/banne ...

  8. iOS 如何计算图片加载内存中所占的大小

    首先图片自动缩放到2的n次方大小,例如200 * 300像素 会变成256 * 512大小. 图片内存大小的计算公式 宽度 * 高度 * bytesPerPixel/8. bytesPerPixel ...

  9. el-image src 属性使用本地图片加载失败解决方案 Cannot find module ‘../../xxx‘

    参考博客 参考博客2 <el-image src="../assets/xxx.png" /> 使用 require 引入 <el-image :src=&quo ...

  10. ios加载本地html懒加载图片方案,IOS开发中加载大量网络图片优化方法

    IOS开发中加载大量网络图片如何优化 1.概述 在IOS下通过URL读一张网络图片并不像其他编程语言那样可以直接把图片路径放到图片路径的位置就ok,而是需要我们通过一段类似流的方式去加载网络图片,接着 ...

最新文章

  1. 【Python】字符转换为 ASCII 码
  2. Istio 中的 Sidecar 注入及透明流量劫持过程详解
  3. python--循环列表中字典元素
  4. CV Code | 本周计算机视觉新出开源代码汇总(含医学图像分割、神经架构搜索、姿态迁移、超分辨率等)...
  5. linux双网卡 ipv4 ipv6 双栈,ipv4 ipv6双栈哪个优先
  6. 概率论 方差公式_【考研数学】概率论与数理统计
  7. 想知道中后台的人效如何计算吗,我知道!
  8. 平均获客成本_获客成本5年翻了6倍,布局私域流量的背后隐藏了哪些惊人数据?...
  9. Failed to start LSB: Enable AMQP service provided by RabbitMQ broker.
  10. 小白学 Python 爬虫(27):自动化测试框架 Selenium 从入门到放弃(上)
  11. 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm生鲜超市进销存管理系统
  12. 腾讯云cos html,腾讯云对象存储(COS)插件安装设置图文教程
  13. 翻转棋c语言算法,有没有人懂黑白棋(翻转棋)的核心算法
  14. Synaptic Ubuntu软件管理工具
  15. Ewebeditor的问题
  16. 分享几个默认密码在线查询网站
  17. find命令中参数perm的用法
  18. java时间,日期,毫秒值,String的相互转换总结
  19. python pandas 去重_Pandas 数据框增、删、改、查、去重、抽样基本操作方法
  20. 上传文件 java_JAVA文件的上传与访问

热门文章

  1. cass有坐标文件生成里程文件_请问在CASS7.0中怎样生成坐标文件和里程文件,请尽量详细...
  2. 伪静态 全站php 跳到html,IIS下万能301跳转方法:URL伪静态重写+PHP301
  3. 12864c与语言字符显示,12864液晶显示C语言程序设计实例
  4. 遗传算法原理及其python实现
  5. 2021华为机考笔试题
  6. 57、RapidJson存储Base64数据和空间释放
  7. ESET NOD32激活码/许可证密钥/用户名密码
  8. DELPHI7第三方控件安装
  9. 清除计算机用户缓存,如何在Windows 7中清除内存缓存,释放电脑空间?
  10. 收藏 | 90+深度学习开源数据集整理:包括目标检测、工业缺陷、图像分割等多个方向(附下载)...