Cordova应用程序在safari上正常运行,但在作为应用程序安装时崩溃

时间:2016-01-20 15:34:28

标签: ios css cordova memory-leaks

我为客户端构建了一个工具,它基本上是一个显示多个项目的工具,并根据设置的参数对它们进行过滤。这个工具是作为一个基于Web的项目启动的,它在所有浏览器上运行,它应该在从文件浏览器打开html文件时运行(所以当没有涉及服务器时)。

我们在平板电脑/手机上对此进行了测试,因为我们知道它需要移植。因此,当我们在safari上打开它时,这个代码在我们的ipad3(第一代视网膜)上正常运行。现在我们一直用cordova来设置它。但是当这个加载的那一刻,我们得到内存警告,说内存应该被清除等等......应用程序运行缓慢并且显示一些新的错误,可能是由于内存问题... ...

我一直在寻找分析/时间线来查找内存泄漏等,但我真的找不到任何值得注意的内存泄漏。 另一个古怪的事情:如果我们只在纵向模式下构建这个应用程序,问题就会消失。但是正在执行的代码完全相同,除了其他样式之外,我们在纵向模式下不会做任何不同的事情。

CSS / Mediaqueries / images(png)可能导致这些问题吗? 如果有人能指出我的方向,那将是伟大的。

如果你们需要代码/示例/ ...大喊,我会提供。 THX

2 个答案:

答案 0 :(得分:1)

上周我发现了这个问题。显然这是由我的CSS引起的。结果显示为大约60个项目列表中的小项目。他们有一个悬停/触摸事件,可以翻转项目。但是添加透视/背面等的css导致了内存问题。我删除了它们,一切都运行得很好。

我仍然不知道为什么这会导致科尔多瓦出现问题,但在原生野生动物园中却没有,我会假设在同一浏览器上使用相同代码的相同应用程序会提供相同的性能....但显然webview和原生safari应用程序之间存在一些差异?

答案 1 :(得分:0)

除非您安装了WkWebview插件,否则Cordova将在UiWebview中运行您的应用程序,该视图具有WkWebview中不存在的大量性能和内存问题。

Native safari在引擎盖下使用WkWebview,它解释了Cordova应用程序和Safari之间的性能和稳定性差异。