2016-04-26 59 views
1

我用下面的CSS来我的科尔多瓦应用科尔多瓦的Android滚动/性能问题

.scrollable { 
    overflow: auto; 
    -webkit-transition-property: top, bottom; 
    transition-property: top, bottom; 
    -webkit-transition-duration: .2s, .2s; 
    transition-duration: .2s, .2s; 
    -webkit-transition-timing-function: linear, linear; 
    transition-timing-function: linear, linear; 
    -webkit-overflow-scrolling: touch; 
    -webkit-transform: translateZ(0); 
    -webkit-backface-visibility: hidden; 
} 

这个奇妙的作品在iOS创建平滑滚动,但在Android的原因并没有这么多。 Android的总体性能与iOS不相近,但在滚动时最显着。有什么建议么?我有android:hardwareAccelerated="true",但这似乎没有太大区别。

回答

2

Android浏览器滚动总是很痛苦,性能比iOS糟糕得多。这就是为什么hybrid app frameworks like Ionic has introduced native scrolling to android,这使得性能更好。离子真的很有趣,但如果你不想使用它,你可以做一些Google搜索来了解更多关于android原生滚动的信息,或者找出他们如何实现它并将它移植到你的项目中。

解决此问题的另一种方法是将Crosswalk嵌入到您的Android应用程序中,它是基于Chromium的webview。缺点是APK的大小会增加20MB,但不同版本的Android操作系统的性能和一致性确实会提高很多。

+0

感谢您的反馈!我确实将Crosswalk嵌入到应用程序中以提高性能。它还增加了对Android 4.4的支持。它确实增加了很多尺寸,但是它为与Android合作打造了一个相对公平的游戏环境,这很好。我也在做一些其他的表演事情(比如摆脱盒子阴影)来提高性能,差别非常大! –

+0

很高兴听到! :) – Kevin

0

在本文中,我假设读者是一个科尔多瓦开发人员,我不会教你基本知识,因为有几百万篇文章可以在网上找到。

所以,如果你正在使用jQuery,jQuery UI和java脚本与apache cordova行它仍然可以,如果你开发一些演示项目或一个非常简单的应用程序。

但是对于商业级别的项目,您必须使用Angular JS或更高版本的角度版本(IONIC Framework - Cordova的扩展版本)才能获得更好的用户体验。

我对jQuery和jQuery UI没有冒犯性,因为它们仍然是很棒的工具。但是当涉及到混合应用程序开发时,Angular比jQuery或jQuery UI执行得更好。

https://guntucomputerhacks.blogspot.com.au/2017/11/apache-cordova-scroll-bar-lagging-on.html