美文网首页
图片重名研究

图片重名研究

作者: 陈阿票 | 来源:发表于2017-04-02 13:59 被阅读64次

在我们的 iOS 工程中,在同一个目录下是不允许存在两张名字相同的图片的,但是在不同目录下却可以允许这种情况,所以就有了一个疑问:就是调用 imageNamed 方法时,对相同名字的图片,会加载哪一张图片呢??

接下来带着这个疑问,开始了我们的探讨。

  1. 同一个 xcassets 文件,不同文件目录下的图片。
    和 unicode 编码有关,该 xcassets 中的图片在 IPA 包中的排列顺序与 “该图片的名字” 和 “该图片所在文件夹的名字” 都相关。
    同一层级的 “文件夹名字” 和 “图片名字”,参与到排序中,排列顺序是按字符串大小,由小到大进行排序。


    Snip20170322_2.png
    这个是模拟器显示出的图片.png
  2. 不同 xcassets 文件,最终加载图片与 xcassets 的命名有关,优先加载字符串小的 xcassets 中的图片(aaaa.xcassets >> abc. xcassets >> zc.xcassets)。


    Snip20170322_5.png
    ![这个是模拟器显示出的图片.png](https://img.haomeiwen.com/i317385/6753db1fd58c9670.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  3. 对于 xcassets 中的图片,与 Xcode 中分文件夹(黄色的文件夹),优先加载 xcassets 中的图片。

Snip20170322_8.png

最终结论:所有 xcassets 文件中的图片,在 IPA 包中的排列顺序都是按照字符串大小排序,类似一个数组,依次遍历,当找到对应的图片时,则返回,否则继续遍历直到数组末尾,若在 xcassets 中未找到,则去 Xcode 其他文件夹中寻找。

在 ipa 文件中,打开包内容,找到 Assets.car 文件,打开后发现,该文件内只含有一张同名的图片,也就是说打包时,对于同名的图片,只会按照刚刚所说的排序方式,取出第一张加入到 ipa 包中。


Snip20170322_11.png

相关文章

  • 图片重名研究

    在我们的 iOS 工程中,在同一个目录下是不允许存在两张名字相同的图片的,但是在不同目录下却可以允许这种情况,所以...

  • Python 多图片重名命

    在制作Pascal VOC数据集时,需要对图片重命名。 图片数量比较多,都放在一个文件夹下面,而且在Mac下会有隐...

  • 设置的 精灵,动画,控件 不见了 或者显示异常问题

    cocos2d-x技术群:117871561缓存的组件重名:查看 缓存到内存里的 纹理或者图片集 有没有 重名的 ...

  • 重名

  • 重名

    老徐的两个儿子 先后出了国门 都成功地绿了 变为外籍华人 小的还娶了碧眼金发 生了个漂亮孙女 很优秀 是典型的杂交...

  • 重名

    今日出去办储蓄卡,填了资料,银行人员在机器上就开始操作起来,谁知第一步就没通过,机器显示我没有办卡的条件。我一懵啊...

  • 重名

    文:啡哥 我知道我明天可能没空写,那就先写写关于重名这件事 这几天,好像遇到好几件重名的事情。 家庭群里(我们有一...

  • 重名

    今天学习发现,西汉皇室真的挺喜欢这个“建〞字。几辈的皇室成员连续出现了三个叫刘建的。 燕王刘建:刘邦第八子名刘建,...

  • ios工程重构-重名文件多余图片删除

    今年接手了一个新项目,据说他们是从外包手里把代码接过来没多长时间。说实话已经无力吐槽了,对我这种有强迫症的人来说,...

  • androidstudio 依赖项目找不到资源文件

    依赖项目 layout和项目layout有重名xml文件,改重名解决

网友评论

      本文标题:图片重名研究

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