内存分析 获取硬件信息

一.资源打包
图片是被放到Images.xcassets里面
1.部署版本在>=iOS8的时候,打包的资源包中的图片会被放到Assets.car.图片有被压缩
2.部署版本在<iOS8的时候,打包的资源包中的图片会被放在MainBudnle里面.图片没有被压缩
3.图片是被直接拖入项目当中,无论部署版本是多少,都会被放到MainBudnle里面.图片没有被压缩
注意:如果你现在想要搞一个APP的资源,尽早搞.如果之后部署版本全部改成iOS8.资源会被放到Assets.car.

二.内存分配
1.使用imageName:加载图片
1>加载内存当中之后,会一直停留在内存当中,不会随着对象销毁而销毁
2>加载进去图片之后,占用的内存归系统管理,我们无法管理
3>相同的图片,图片不会重复加载
4>加载到内存当中后,占据内存空间较大

2.使用imageWithContentsOfFile:加载图片
1>加载到内存当中后,占据内存空间较小
2>相同的图片会被重复加载内存当中
3>对象销毁的时候,加载到内存中图片会随着一起销毁

结论:
1.如果图片较小,并且使用频繁的图片使用imageName:来加载(按钮图标/主页里面图片)
2.如果图片较大,并且使用较少,使用imageWithContentsOfFile:来加载(Tom猫/版本新特性/相册)

三.内存泄漏
什么内存泄漏?
堆里不再使用的对象,没有被销毁,依然占据着内存(该死的对象没有死掉)

1.静态内存分析
1>不运行程序,直接根据程序的语法结果,进行分析
2>相对不太准确,但是如果发现有地方提示可能有内存泄漏,最好根据实际情况查看一下

2.动态内存分析
如果发现内存泄漏,基本可以确定某一个地方确实发生的内存泄漏,之后根据实际代码情况来解决该问题

四.私有API(公有API):越狱开发可能会使用到
苹果官方没有暴露给我们的API
官方禁止使用,如果发现应用程序有私有API,不允许上架
1>一般比较底层的API
2>不太稳定的API
3>不太希望开发者自己来定义的东西

五.获取硬件信息(底层API)
1.该微博来自iPhone 6plus,QQ该说说来自小米手机(设备型号)
2.慕课网,查看硬盘使用情况(一共多少空间,目前使用多少空间)

uidevice-extension iphone6
stackoverflow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值