Cordova 科尔多瓦重画/瓷砖性能

Cordova 科尔多瓦重画/瓷砖性能,cordova,Cordova,我正在使用Cordova构建一个应用程序,在设备上运行时遇到了许多性能问题。该应用程序是使用主干网开发的,在浏览器中表现非常出色 我想解决的主要问题是在不同页面之间进行更改,当应用程序最初加载时,页面正在绘制/重画时,似乎出现了一种丑陋的“平铺效果” 我用于在不同主干视图之间更改的代码如下所示: $('#app-view').empty(); $('#app-view').html($(view.el)); 是否有更好的方法来更改Cordova webview中性能更好的所有内容?phoneg

我正在使用Cordova构建一个应用程序,在设备上运行时遇到了许多性能问题。该应用程序是使用主干网开发的,在浏览器中表现非常出色

我想解决的主要问题是在不同页面之间进行更改,当应用程序最初加载时,页面正在绘制/重画时,似乎出现了一种丑陋的“平铺效果”

我用于在不同主干视图之间更改的代码如下所示:

$('#app-view').empty();
$('#app-view').html($(view.el));

是否有更好的方法来更改Cordova webview中性能更好的所有内容?

phonegap中的性能问题实际上源于webview必须呈现的内容量。从那以后,它分为两类:ios和android

对于你,我有两个建议:

建议#1:

iOS webview通常比android view性能更好。我已经开发了几个phonegap应用程序,其中包含一些基本的HTML驱动动画等

对于android,android设备最重要的事情是在代码级别或应用程序manifest.xml中禁用硬件加速

我知道这听起来很有趣,但实际上它允许webview使用更多的硬件加速

对我来说,结果是这样的:

<application android:debuggable="true" android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/app_name">

建议#2:

而不是做 $(“#应用程序视图”).empty(); $('#app view').html($(view.el))

您是否可以这样做:

<application android:debuggable="true" android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/app_name">
$('app-view1').css('display','none'); 或 $('#app-view1')。删除()

然后通过简单地显示第二组内容来跟进,而不是第一次完全呈现/下载,即。 $('app-view1').css('display','block')

第二个建议的核心是简单地切换两个内容的可见性,而不是完全重置所有html内容。您甚至可以将内容设置为隐藏div,然后切换可见性

我相信,当与硬件加速设置相结合时,这种变化应该会产生可测量的差异

越早将html加载到隐藏的div中越好,然后只需使其可见即可。当它被加载到隐藏的div中时,html解析器就有时间进行解析、下载资源等