【问题标题】:Are JavaScript apps for WP8.1 and WP10 processed in the same way?WP8.1 和 WP10 的 JavaScript 应用程序是否以相同的方式处理?
【发布时间】:2017-04-27 04:44:55
【问题描述】:

我在 JS 上编写了 Liquid Dynamics 引擎。它的工作原理并不重要,只需要说一件事:它执行繁重的计算。

所以,我尝试在 WP8.1 和 WP10 上使用此引擎启动一个项目。两个平台的项目(和所有源文件)完全相同。

在 WP8.1 中它工作得非常完美。但在 WP10 中,我可以看到 UI 没有响应。特别是,'click' 和 'pointerdown' 事件处理程序不会被触发。 在深入挖掘之后,我发现如果我减少计算负载(降低液体分辨率并排除一些代码片段),那么事件处理程序开始在 WP10 中工作(可以触发)。

两个设备中的 CPU 几乎相同。我不敢相信 WP10 设备不能处理这个负载。

不仅如此,这个问题还可以在模拟器中重现。在 WP8.1 模拟器中它可以工作,在 WP10 模拟器中,“click”和“pointerdown”事件处理程序不会被触发。但是如果我减少有效负载,处理程序开始在 WP10 模拟器中工作。如您所见,两个模拟器的 CPU 完全相同(在我的 PC 中,模拟器所在的位置)。

谁能解释发生了什么?在这两种情况下,调试控制台内都没有错误。

【问题讨论】:

    标签: javascript windows-phone-8.1 windows-10-mobile


    【解决方案1】:

    所以,问题可能实际上是 WP8.1 使用 Chakra (JScript) 引擎(如 IE11 内部),但 Windows 10 Mobile 使用 Chakra (JavaScript) 引擎(如 Edge 内部)。但这只是假设。

    根据我的经验,我能给出的唯一建议是不要在 Windows 10 上运行 WP8.1 JavaScript 应用程序。而是需要创建另一个 UWP 应用程序。幸运的是,Visual Studio 允许在一个解决方案中开发多个项目。因此,源代码可以轻松地从一个项目复制到另一个项目,或者(甚至更好)可以将其隔离到其他项目可以引用的单独项目中。

    Windows 应用商店还允许在一个应用中将多个包发布到不同的操作系统。

    当我创建新的 UWP 应用并在其中插入我的代码时,它开始正常工作。

    【讨论】:

      猜你喜欢
      • 2016-03-25
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2010-11-09
      相关资源
      最近更新 更多