【问题标题】:Konva stops working on iPhone after three pages?Konva 在三页后停止在 iPhone 上工作?
【发布时间】:2020-06-13 22:20:58
【问题描述】:

第一次在这里发布海报和非常业余的网站制作者。

我使用 Konva 制作了这个测试站点:https://snuck.in/test/pink

您可以点击方块进入下一页。

它在旧 iPhone 5 (iOS 10.3.4) 上运行良好。我可以点击无穷无尽的页面。

当我在 iPhone 7 Plus (iOS 13.1.3) 上试用它时,我只能点击三个页面,然后它们开始出现空白。我在任何浏览器中都得到相同的结果:Safari、Chrome、Firefox、Opera Touch。

知道为什么它会工作三页然后退出吗?

如果我能提供更多信息,请告诉我。非常感谢!

【问题讨论】:

  • 可能使用浏览器信息和您遇到问题的源代码的相关部分可以帮助理解问题

标签: ios loading konvajs konva


【解决方案1】:

Safari 中似乎存在内存泄漏问题。几次重新加载后,它告诉我内存已经结束。它没有从内存中完全清除画布。

作为一种解决方法,您可以尝试缩小舞台并在重新加载之前将其销毁:

box.on('click tap', () => {
  stage.width(1);
  stage.height(1);
  stage.destoy();
  location.href = 'pink';
})

【讨论】:

  • 我在加载一个阶段和一些节点多次时遇到内存泄漏,我不小心在生成 konva 阶段时使我的 Angular 应用程序循环,我不知道泄漏持续存在即使浏览器进程终止,并且我必须重新启动机器以回收使用的内存,我可能会遗漏一些东西,但它看起来对我来说真的很奇怪,我使用的是 fedora 32 和 angular 10。
【解决方案2】:

我所做的是在我的代码上设置Konva.pixelRatio = 1。 Safari 对画布内容有大小限制,增强其性能的方法之一是减小比例,尤其是在我的案例中,我试图将舞台大小设置为 1280x1280。

您可以在 Konva 文档中查看有关如何执行您的应用程序的更多提示:https://konvajs.org/docs/performance/All_Performance_Tips.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-02
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多