美文网首页
资源打包 内存分配 内存管理

资源打包 内存分配 内存管理

作者: 三岁就很乖 | 来源:发表于2016-04-19 22:15 被阅读33次

一:资源打包

图片资源是放到Images.xcassels里面

1、部署版本在>=iOS8.0的时候,打包的资源包中的图片会被放到Assets.car中,图片有被压缩。

2、部署版本在<iOS8的时候,打包的资源包中的图片会被放到MainBundle里面,图片没有被压缩。

3、图片直接被托到项目中,无论部署版本是多少,都会被放到MainBundle里面,图片没有被压缩

二、内存分配

1、使用imageName:加载图片

(1)加载内存当中之后,会一直停留在内存当中,不会随着对象的销毁而销毁。

(2)加载进去图片之后,占用的内存归系统管理,我们无法管理。

(3)相同的图片,图片不会重复加载。

(4)加载到内存中后,占据内存空间较大。

2、使用imageWithContentsofFile:加载图片

(1)加载到内存当中后,占据内存空间较小。

(2)相同的图片会被重复加载内存当中。

(3)对象销毁的时候,加载到内存中图片会随着一起销毁。

结论:

1、如果图片较小,并且使用频繁的图片,使用ImageName来加载图片(按钮图标/主页里面图片)

2、如果图片较大,并且使用较少,使用imageWithContentsoOfFile:来加载(版本新特性/相册)

三、内存管理

什么内存管理?

堆里不再使用的对象,没有被销毁,依然占据着内存

1、静态内存分析

(1)不运行程序,直接根据程序的语法结果,进行分析。

(2)相对不太准确,但是如果发现有地方提示可能有内存泄露,最好根据实际情况看一下。

2、动态内存分析

如果发现内存泄露,基本可以确定某一个地方确实发生的内存泄露,之后很据实际代码情况来解决该问题。

相关文章

  • 资源打包 内存分配 内存管理

    一:资源打包 图片资源是放到Images.xcassels里面 1、部署版本在>=iOS8.0的时候,打包的资源包...

  • OC总结篇 - 内存管理

    内存管理 内存在哪 为什么要进行内存管理 内存管理,是指运行时对计算机内存资源的分配和使用,目的是高效,快速的分配...

  • 【OC梳理】内存管理

    在Objective-C中,内存管理是个重要的概念。 什么是内存管理 内存管理是指软件运行时对内存资源的分配和使用...

  • 操作系统之内存管理

    内存管理 包括内存管理和虚拟内存管理 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(...

  • 《Effective C++》学习笔记(4)

    3 资源管理 所谓资源就是,一旦用了它,将来必须还给系统。C++程序中最常使用的资源就是动态分配内存(如果分配内存...

  • iOS 面试要点

    内存管理 软件运行时会分配和使用设备的内存资源,因此,在软件开发的过程中,需要进行内存管理,以保证高效、快速的分配...

  • JVM 内存管理

    内存管理=内存分配+内存回收 内存分配 JMM指Java内存管理线程之间的共享变量存储在主内存(main memo...

  • 菜鸟教程——OC内存管理

    一、什么是内存管理 内存管理是指软件运行时对计算机内存资源分配和使用的技术,其最主要的目的是如何高效,快速的分配,...

  • 内存管理

    内存管理 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其主要目的是如何高效、快速的分配。 大纲 堆...

  • Java中四种引用

    Java内存管理包括内存分配和内存回收。 内存分配:程序员通过new对象,JVM会自动为该对象分配内存。 内存回收...

网友评论

      本文标题:资源打包 内存分配 内存管理

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