在使用Ti SDK 6.0.2及更高版本的Android上,Webview非常慢

时间:2017-08-13 15:50:49

标签: android webview titanium appcelerator

拜托,我想向Appcelerator / Titanium社区寻求帮助。我的应用程序在Android上使用Titanium SDK的5.X,6.0.0和6.0.1版本运行得非常好。出于某种原因,从版本6.0.2开始,包括6.0.3,6.0.4和6.1.X,它非常慢。我升级了Android SDK版本,包括build-tools和Node.js,但没有任何改进。另外,在iOS上一切都很好。我知道这是一个非常普遍的问题,但有人在Android上使用这些版本的Titanium SDK遇到性能问题?非常感谢提前。

以下是有关我的环境的信息:

Operating System
  Name                        = Mac OS X
  Version                     = 10.11.6
  Architecture                = 64bit
  # CPUs                      = 8
  Memory                      = 8589934592

Node.js
  Node.js Version             = 4.5.0
  npm Version                 = 2.15.9

Titanium CLI
  CLI Version                 = 5.0.14

Titanium SDK
  SDK Version                 = 6.0.2.GA
  SDK Path                    = /Users/luna/Library/Application Support/Titanium/mobilesdk/osx/6.0.2.GA
  Target Platform             = android

...

经过几个小时的浪费,我发现问题与网页浏览有关(仅适用于Android)。以下是解释我问题的单一代码:

//
var win = Titanium.UI.createWindow({
    backgroundColor: 'white'
});

var htmlContent = '<html><head><meta http-equiv=Content-Type content="text/html; charset=utf-8">';
htmlContent += '<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />';
htmlContent += '</head><body This text is intended as a test for the webview usage examples:<br>';
htmlContent += 'Morbi a metus. Phasellus enim erat, vestibulum vel, aliquam a, posuere eu, velit. <br>Nullam sapien sem, ornare ac, nonummy non, lobortis a, enim. Nunc tincidunt ante vitae massa. <br>Duis ante orci, molestie vitae, vehicula venenatis, tincidunt ac, pede. <br>Nulla accumsan, elit sit amet varius semper, nulla mauris mollis quam, tempor suscipit diam nulla vel leo. <br>Etiam commodo dui eget wisi. Donec iaculis gravida nulla. <br>Donec quis nibh at felis congue commodo. <br>Etiam bibendum elit eget erat. Nam quis nulla. <br>Integer malesuada. In in enim a arcu imperdiet malesuada. <br>Sed vel lectus. Donec odio urna, tempus molestie, porttitor ut, iaculis quis, sem. <br>Phasellus rhoncus. Aenean id metus id velit ullamcorper pulvinar. Vestibulum fermentum tortor id mi. <br>Pellentesque ipsum. Nulla non arcu lacinia neque faucibus fringilla. Nulla non lectus sed nisl molestie malesuada. <br>Proin in tellus sit amet nibh dignissim sagittis. Vivamus luctus egestas leo. Maecenas sollicitudin. <br>Nullam rhoncus aliquam metus. Etiam egestas wisi a erat.<br> Aenean placerat. In vulputate urna eu arcu. <br>Aliquam erat volutpat. Suspendisse potenti. Morbi mattis felis at nunc. Duis viverra diam non';
htmlContent += 'Morbi a metus. Phasellus enim erat, vestibulum vel, aliquam a, posuere eu, velit. <br>Nullam sapien sem, ornare ac, nonummy non, lobortis a, enim. Nunc tincidunt ante vitae massa. <br>Duis ante orci, molestie vitae, vehicula venenatis, tincidunt ac, pede. <br>Nulla accumsan, elit sit amet varius semper, nulla mauris mollis quam, tempor suscipit diam nulla vel leo. <br>Etiam commodo dui eget wisi. Donec iaculis gravida nulla. <br>Donec quis nibh at felis congue commodo. <br>Etiam bibendum elit eget erat. Nam quis nulla. <br>Integer malesuada. In in enim a arcu imperdiet malesuada. <br>Sed vel lectus. Donec odio urna, tempus molestie, porttitor ut, iaculis quis, sem. <br>Phasellus rhoncus. Aenean id metus id velit ullamcorper pulvinar. Vestibulum fermentum tortor id mi. <br>Pellentesque ipsum. Nulla non arcu lacinia neque faucibus fringilla. Nulla non lectus sed nisl molestie malesuada. <br>Proin in tellus sit amet nibh dignissim sagittis. Vivamus luctus egestas leo. Maecenas sollicitudin. <br>Nullam rhoncus aliquam metus. Etiam egestas wisi a erat.<br> Aenean placerat. In vulputate urna eu arcu. <br>Aliquam erat volutpat. Suspendisse potenti. Morbi mattis felis at nunc. Duis viverra diam non';
htmlContent += '</body></html>';

var wvDemo = Titanium.UI.createWebView({
    html:htmlContent,
    backgroundColor:'transparent',
    borderRadius: 1, // As recomended by Appcelerator docs, to force chromium (Android) rendering 
    scalesPageToFit:false
});

win.add(wvDemo);

win.open();

我使用经典项目模板由Studio创建一个项目,并为此更新de app.js代码。当我使用SDK 6.0.1.GA或以前的版本进行编译时,该应用程序运行得非常好,速度很快。但是,如果我使用6.0.2.GA或更高版本编译,应用程序运行非常非常慢,并且许多消息如“[INFO]:Choreographer:Skipped 36 frames!应用程序可能在其主线程上做了太多工作。 “生成。

请问,有什么建议吗?提前谢谢。

0 个答案:

没有答案