iOS 闪退与内存管理

先说闪退是什么,闪退就是程序崩溃了,原因多种多样,内存不足是一种,大部分是因为程序本身有BUG(BUG中野指针类居多,建议百度下野指针,能看懂的就看懂了,看不懂的就不解释了,几句话说不清楚)

讲一个概念,虚拟内存。咱从windows说起,让大家好理解。在windows上,如果你电脑有1G内存,但是你的程序需要2G内存才能跑,那这个程序会崩溃掉么?答案是一般不会。windows有虚拟内存机制,大概的意思是,用硬盘去扩充内存。硬盘和内存本质都是存数据嘛,无非内存快,硬盘慢,如果一个程序需要的内存多到要用上虚拟内存,那么也只会变慢,但是不会崩溃掉。这个技术很好是么,iOS有没有呢,sorry,没有

好,这里讲讲为什么去掉了虚拟内存机制。手机和电脑一个很大的区别是,电脑上同时运行许多程序的需求很大,比如我现在就一边听音乐,一边还开着QQ,一边还开着浏览器,因为屏幕大呀,可以同时放下好多程序的窗口。有了虚拟内存,windows可以同时运行很多程序,万一内存不够用,就用虚拟内存顶上,至少各个程序只是性能变差,但是不会崩溃。除非你开非常多非常占内存的程序,需要的内存超过了内存和虚拟内存的总和,系统才会被迫让一些程序终止,这种情况还是很少见的,但是理论上是可能的。但是,手机屏幕只有那么点点大,往往只能显示一个程序的窗口,加上虚拟内存会显著降低性能,iOS索性取消掉了多个程序同时执行的能力,也取消掉了虚拟内存。用户看上去可能觉得不是这样,比如音乐播放程序是可以后台执行的,Q

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值