循环调用内存爆炸原因是程序架构设计不优秀

优秀的程序运行起来应该向一棵树一样的逻辑结构层次分明,而循环调用则是连在了一起,并且循环了,所以就导致

 

没开几个有用内存却能够彪到这么高 ,一看原来进程没杀干净,但我已经开了3次资源管理器了,

为什么循环调用就杀不干净呢,我进行了一个简单的猜想:可能是这个程序分了很多线程,前面杀的只不过是其中的几个占用比较高的,高的进程杀掉了,剩下的就是没开始生长的,这些没有生长的也会慢慢的长大逐渐把性能都占光。

循环调用在原理上可能和for的死循环差不多,所以无限制的膨胀下去,不管电脑配置有多高也可以占满导致电脑最终崩溃,而占用的内存数据里面存放的是什么呢?

那就是无限循环带来的无限重复的垃圾数据,这些数据内容是无限循环的。

程序设计对循环调用关注的并不是非常明显,优秀的架构设计不会出现问题,但一个长时间没有碰过的程序,然后多次在这些封装功能中调用使用以及使用get set 这些功能属性器的时候会容易一些出现循环调用

尤其是程序架构设计糟糕的情况下多会出现,只要一出现,应用就会崩溃

遇到这种情况在flash技术中avm虚拟机会给应用10秒循环时间,过了10秒还是循环不完则会提示关闭程序,否则性能差一些的电脑也就只能拔电源了,这真的是用户体验的大坑。

并没有什么解决方案,只能是前期对程序设计架构就做好把握,尽力在前期就把架构做的优美一些,这也是对程序员功力的考验呀~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值