敢达争锋对决吧 关注:81,817贴子:4,656,843

频繁掉线的原因——内存泄漏,重大程序bug虽然置顶有3.4

只看楼主收藏回复

频繁掉线的原因——内存泄漏,重大程序bug
虽然置顶有3.4 bug收集贴,但这个bug不是3.4版本独有的,只是现在更加明显了,所以特开贴说明。
首先说明,我本人学软件的,所以对这个稍微了解一点,但没有经过详细的测试,所以可能存在错误,希望大家指正。
Bug表现:本人手机是iPhone 8,运行内存2g,连续玩几局游戏后莫名其妙的闪退,在巅峰中表现更为明显,连续两局出现大冰箱接近100%掉线。造成这种现象的直接原因是手机运行内存不足,游戏中无法分配新的内存,导致程序崩溃。所以每个人会因为自己手机的配置不同而出现不同的掉线频率。
分析:为什么说是内存泄漏呢?在普通竞技场中,由于大家的机体远比不上巅峰的阵容,所以游戏中需要计算的各种战斗数据比较少,占用的内存比较少,因而掉线频率低。在理想状态下,每一局战斗结束后,战斗中产生的各种数据占用的临时内存应该统统被回收,因为它们已经没用了,这个步骤称为垃圾回收。如果垃圾回收没做好,每一局战斗都会留下一些内存垃圾,直到把内存占满,所以连续几把游戏之后就会意外崩溃。显然大冰箱的轰炸涉及到的计算量非常大,就会产生大量垃圾,这也是为什么大冰箱非常容易导致掉线。


IP属地:重庆来自iPhone客户端1楼2020-09-24 00:00回复
    所以为了避免游戏中闪退,我不得不在游戏结束后频繁重启游戏,因为每一次从后台关闭游戏,手机操作系统会强制回收该程序产生的所有垃圾内存。
    在3.4版本之前,我巅峰大概每两局重启一次游戏,如果游戏中出现冰箱了,就必须结束后马上重启


    IP属地:重庆来自iPhone客户端2楼2020-09-24 00:04
    回复
      和冰箱的关系不大,豆豆枪打多了也会这样,子弹的最终落点太多了,特别是现在各种弹幕机


      IP属地:湖北来自Android客户端3楼2020-09-24 00:07
      收起回复
        而在3.4版本更新后,内存泄漏的现象更严重了,具体表现为:巅峰中,我重启游戏后的第一把,遇见大冰箱,游戏结算时闪退,连续出现了两次。3.4增加了新的战斗数据计算,而这些新增的计算,引入了新的垃圾


        IP属地:重庆来自iPhone客户端4楼2020-09-24 00:07
        回复
          那要咋处理闪退?重新下载吗


          来自iPhone客户端5楼2020-09-24 00:11
          收起回复
            最后,内存泄漏是一个很复杂的问题,简单来说,这与程序员的水平有着非常大的关系希望KY能重视一下,不想只觉得实现了功能就可以了,不然以后掉线的频率只会越来越高


            IP属地:重庆来自iPhone客户端6楼2020-09-24 00:12
            回复
              所以说运存16G无所畏惧


              IP属地:安徽来自Android客户端7楼2020-09-24 00:13
              收起回复
                这贴要顶


                IP属地:北京来自Android客户端8楼2020-09-24 00:15
                回复
                  好贴


                  IP属地:日本来自iPhone客户端9楼2020-09-24 00:18
                  回复
                    这个我知道,以前做魔兽争霸地图的时候要注意内存泄露的问题,否则打一会就会闪退。


                    IP属地:广东来自Android客户端10楼2020-09-24 00:19
                    收起回复


                      IP属地:上海11楼2020-09-24 00:20
                      回复
                        顶顶
                        今天更完更卡了,8p玩一局都顶不住


                        IP属地:辽宁来自iPhone客户端12楼2020-09-24 00:21
                        回复
                          技术大佬,顶


                          IP属地:山西来自Android客户端13楼2020-09-24 00:22
                          回复
                            今天ios xr 13.6.1巅峰我玩03打了13把左右闪退2次,以前从来不会闪退的


                            IP属地:浙江来自iPhone客户端14楼2020-09-24 00:24
                            收起回复
                              支持lz,终于知道我的果7
                              巅峰遇上冰箱必回闪退了


                              IP属地:中国香港来自iPhone客户端15楼2020-09-24 00:30
                              收起回复