一 概述

创建Image的方式有两种:

  • UIImage *image=[UIImage imageNamed:imageName]—内存由系统管理
  • UIImage *image=[UIImage imageWithContentsOfFile:path]—开发者自己管理(优化)
imageName(324M) imageWithContentsOfFile(19M)

二 查看打包后的app文件

点击Xcode——>Preference,打开设置对话框

选中Locations菜单栏,点击Derved Data,打开包数据文件夹

找到当前应用的app

在app上右键,显示包内容,查看app的包信息

三 两种方式资源存放和获取方式

3.1 imageName方式

资源存放位置

  • Assets.xcassets:资源文件夹
  • 任意的图片文件夹:如Animations

imageName获取Image方式

UIImage *image=[UIImage imageNamed:@“eat_001.jpg”];

3.2 imageWithContentsOfFile

supporting files(bundle文件)

新版本不支持supporting files文件打包后,直接放到app的包目录下

存放位置

  • 直接拖放到项目根目录下(如Animations文件夹)

imageWithContentsOfFile获取Image方式

 NSString *imageName=[NSString stringWithFormat:@"Animations/Eat/%@_%02d.jpg",@"eat",i];NSString *path=[[NSBundle mainBundle]pathForResource:imageName ofType:nil];UIImage *image=[UIImage imageWithContentsOfFile:path];

四 内存优化(imageWithContentsOfFile)

4.1 优化方式一

[self performSelector:@selector(clearup) withObject:nil afterDelay:self.tom.animationDuration];-(void)clearup
{NSLog(@"%s",__func__);self.tom.animationImages=nil;
}

4.2 优化方式二

[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];

五 参考

  • iOS 把图片资源打包成bundle

IOS开发之——图片的内存优化相关推荐

  1. 【iOS开发】——MRC(手动内存管理)的一些补充

    [iOS开发]--MRC(手动内存管理)的一些补充 前言 野指针与空指针 多个对象内存管理的思想 玩家没有使用过房间 一个玩家使用一个游戏房间的情况 一个玩家使用一个房间 r 后,换到另一个房间 r2 ...

  2. iOS开发——MRC(手动内存管理)

    iOS开发--MRC(手动内存管理) 内存分配区域 栈区 堆区 总结 常量区 总结 代码区 总结 全局区 关于如何查看一个对象在堆区 / 栈区 需要知道的知识 手动引用计数MRC 四个法则 非自己生成 ...

  3. Android中对图片的内存优化方法

    Android 中对于图片的内存优化方法 1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource.BitmapFactory.decodeResourc ...

  4. iOS开发中图片的一些处理操作(背景色,透明度,合成,大小)

    之前写过一篇有关更换图片背景色的文章,今天遇到一块儿了,就干脆重新整理一下了.iOS开发中常用的对图片的处理操作: 一.更换图片的背景颜色 /** * 改变图片背景为白色 * * @param ima ...

  5. IOS开发系列—Objective-C之内存管理

    概述 我们知道在程序运行过程中要创建大量的对象,和其他高级语言类似,在ObjC中对象时存储在堆中的,系统并不会自动释放堆中的内存(注意基本类型是由系统自己管理的,放在栈上).如果一个对象创建并使用后没 ...

  6. iOS开发中常见的性能优化技巧

    性能问题的主要原因是什么,原因有相同的,也有不同的,但归根到底,不外乎内存使用.代码效率.合适的策略逻辑.代码质量.安装包体积这一类问题. 但从用户体验的角度去思考,当我们置身处地得把自己当做用户去玩 ...

  7. 【ios开发】图片拉伸

    最近在做一个项目 其中要自己定制一个View 如图: 但是美工给了我的图片尺寸却是不一样的. 分别是599*80  26*61 于是就成了这样的效果. 很明显的发现取消四周不对劲. 于是我就去找美工姐 ...

  8. ios开发 微博图片缩放处理错误_H5响应式开发必会之Viewport(视窗)详解

    什么是 Viewport?viewport 是用户网页的可视区域. viewport 翻译为中文可以叫做"视区". 手机浏览器是把页面放在一个虚拟的"窗口"(v ...

  9. iOS开发之图片分辨率与像素对齐

    像素对齐的概念 在iOS中,有一个概念叫做像素对齐,如果像素不对齐,那么在GPU渲染时,需要进行插值计算,这个插值计算的过程会有性能损耗. 在模拟器上,有一个选项可以把像素不对齐的部分显示出来.  ...

最新文章

  1. R语言ggplot2可视化散点图(scatter plot)、并在可视化图像的顶部和右边添加边缘直方图(Marginal Histogram)、使用geom_smooth函数基于lm方法拟合数据点之间
  2. The Proposal of Service Oriented Data Mining System for Solving Real-Life Classification--阅读笔记
  3. MySQL Server-id踩到的坑
  4. 双代号网络图节点编号原则_『干货』二级建造师考试高频考点 双代号网络图的详细解析...
  5. 过拟合(原因、解决方案、原理)
  6. 5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸
  7. 大话存储系列3——磁盘原理
  8. EasyUI的combobox
  9. 【POJ】1276 Cash Machine 【背包问题】
  10. ubuntu 16.04 修改光标/鼠标大小
  11. 深度学习中为什么要使用多于一个epoch?
  12. 【苹果发布资讯】macOS Big Sur 11.4 正式版 – 修复漏洞和增加GPU支持
  13. Unity编辑器汉化教程
  14. html仿ppt动画,jquery仿PPT幻灯片特效插件ppt.js
  15. hdu4747-线段树
  16. 考虑结构预应力的坎贝尔图分析
  17. CLSR 11.1直接寻址表
  18. [NXP.iMX6UL] NFS服务器
  19. 关于『数据结构』:图论
  20. ML-czy的小组任务3

热门文章

  1. OSChina 周一乱弹 —— 济南源创会特刊
  2. 1.VB_求解圆的体积
  3. 提问技巧(特别适用IT)
  4. Mac JER10.7.3安装
  5. VUE设置浏览器icon图标
  6. 3DMAX入门教程 | 命令面板 标准基本体的创建和参数
  7. [300iq Contest 1]简要题解
  8. win7系统计算机无最小化,技术员解惑win7系统任务栏不显示最小化窗口的修复办法...
  9. 夯实第一超市地位 京东超市成超10大品类超50家品牌线上最大渠道
  10. 雅点ps证件之星插件扩展面板完美破解版