错误:离子微调器有内存泄漏

Bug: ion-spinner has memory leak

平台:所有(Android/ios/Windows等..)

问题一:

当前的实现不会对范围的删除进行清理。这会导致内存泄漏。即使微调器不再位于 dom 中,旋转动画也会继续 运行。当范围被销毁时,动画应该停止。这也会降低滚动性能。

一旦它们被显示然后再次隐藏,它们仍然保持在 DOM 动画中并吃掉 CPU。在 Android 设备上一段时间后,它会加热 phone 并很快耗尽电池电量,尤其是当您在使用应用程序时在多个视图/位置加载动画 SVG 时。

问题二:

微调器与无限滚动指令相结合。

将微调器平移到视线之外是不够的。 (为什么选择这个解决方案而不是不透明度?)。在 iOS 设备上,微调器仍在动画化并大大降低了滚动性能。即使看不见。

我只是用 .gif 加载程序替换了 SVG 微调器:

$ionicLoading.show({
   template: "<span class='loader'></span>"
});

不是最好的解决方案,但至少它有效。