经典指数          
原因
2959
浏览数
0
收藏数
 

Flappy Bird是风靡一时的手机游戏,玩家要操作一只小鸟穿过无穷无尽的由钢管组成的障碍。如果要你在HTML前端开发这个游戏,为了保证游戏的流畅运行,并长时间运行也不会崩溃,请列举开发要注意的性能问题和解决的方法。

     举报   纠错  
 
切换
1 个答案

1.长时间运行会崩溃的原因就是‘内存泄漏’。我们在日常的JS程序中并不太在意内存泄漏问题,因为JS解释器会垃圾回收机制,大部分无效内存会被回收,另一方方面JS运行在客户端,即使出现内存泄漏也不是太大的问题,简单的刷新页面即可。但是,如果出现要预防内存泄漏的场景还是要注意一些问题。

2.针对这个场景来说,即时长期运行出现内存泄漏可能还是很低。第一方面,数据量很少,水管维护一个数组即可,然后每隔一段时间更新数组,来达到水管长度不同的效果。小鸟只要维护一个对象即可。通过移动水管检查碰撞来就可以实现游戏逻辑。因为在浏览器端,JS程序和页面UI渲染共用一条线程,如果计算时间过长会使渲染阻塞,在HTML5中利用webworker已经可以开辟一个新线程专门负责计算解决这个问题了。

 
切换
撰写答案