首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova重绘/平铺性能

问Cordova重绘/平铺性能
EN

Stack Overflow用户
提问于 2013-07-10 20:53:49
回答 1查看 65关注 0票数 0

我正在使用Cordova构建一个应用程序,在该设备上运行时遇到了一些性能问题。这个应用程序是使用Backbone开发的,它在浏览器中表现得非常好。

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

我用来在不同的backbone视图之间切换的代码如下:

代码语言:javascript
复制
$('#app-view').empty();
$('#app-view').html($(view.el));

有没有更好的方法来改变在Cordova webview中表现更好的所有内容?

EN

回答 1

Stack Overflow用户

发布于 2014-07-11 02:08:46

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

对于你,我有两个建议:

建议#1:

iOS webview的表现通常优于android view。我已经开发了几个phonegap应用程序,带有一些基本的HTML驱动的动画等等。

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

我知道这听起来很滑稽,但实际上它的作用是允许webview使用更多的硬件加速。

对我来说,这看起来是这样的:

代码语言:javascript
复制
<application android:debuggable="true" android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/app_name">

建议#2:

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

有没有可能这样做:

$('#app-view1').css('display','none');或$('#app-view1').remove();

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

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

我相信,当与您的硬件加速设置相结合时,这种更改应该会产生可衡量的差异。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17571169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档