需求要详情页有多个canvas来向用户展示内容,并且每个详情页有tab可以切换canvas来展示不同的内容,一开始使用的是v-if来切换canvas节点,但是在多次切换之后,偶尔会出现小程序内存不足小程序闪退的情况,但是更多的是直接微信崩溃了。后来采用js新建节点和清空来切换展示canvas,依然崩溃,且canvas的绘制出现来奇奇怪怪的问题,坐标缓存,scale重复,画布重复绘制等问题层出不穷。再后来,用v-show,索性一次性全梭了,这样确实解决单个详情页多次创建canvas节点的问题,但是用户是不会只在一个详情页的,在切换多个详情页之后问题又来了,每次切换详情页都会梭哈一次canvas(实际上每个详情页都有至少10个canvas节点),经不住几次切换微信就又双叒叕崩溃了。多次实践后严重怀疑canvas在当前框架中进行了缓存(包括之前的坐标缓存,scale重复,画布重绘等问题可能也与此挂钩),且没有对其进行销毁,究竟是何原因呢,希望能有所解答。
用v-show来控制呢?