本周工作思考
周一在调试录制流合成的时候发现一个问题,当tab页切换时,合成就失败了,表现就是用户头像暂停了,通过log发现当切换tab时,合成操作停止,具体跟进代码发现当时使用了requestAnimationFrame作为循环合成的计数器,查阅了requestAnimationFrame的MDN文档才意识到当页面Hidden时,浏览器从性能角度考虑requestAnimationFrame是停止的,所以合成就停止了,找到了问题原因,也就很好解决了,可以使用setTtimeout模拟了requestAnimationFrame执行。这个事给了我很大的一个反思,技术基础扎实不扎实,还是要看对基本技术知识的掌握程度,对浏览器提供的这样API掌握的怎么样,requestAnimationFrame的这个特性我之前看到过,但是确实没有掌握,在用的时候没有意识这方面的问题,假设我开发的时候充分了解这个特性的限制,我就不会用requestAnimationFrame,也就省去了这个排查的时间,其实也就是提升了工作效率,所以从这个角度来说,个人生产力的提升,其实也依赖于对基础专业知识的掌握程度,熟练的使用这些知识解决我们的业务问题,就构成了我们技术能力的基本要素。对我来说提升技术能力,除了在工作多总结和思考,还要扎扎实实的对专业内的基础知识加深理解和掌握;