我们在安卓上的WebView中显示了一个web应用程序,并且我们在较旧的安卓平板电脑上存在性能问题,我们确实需要解决这些问题
我们还能做些什么吗?
有没有比iScroll-lite更快的选择呢?
我们不知道到底是什么让它变得如此缓慢。例如,它在1 GHz,512MB内存的索尼Erricson手机上运行流畅,但在高通1 GHz,512RAM,Android 4.0的平板电脑上运行得很慢,实际上你必须等待任何结果。我在Android版本和屏幕分辨率上看到的唯一区别。
发布于 2013-01-01 21:58:40
它可能终究不是Javascript。Android WebViews往往会出现意想不到的性能问题。
尝试停用所有不必要的CSS,看看性能是否有所提高。如果是这样,您可以迭代地重新添加CSS样式以定位罪魁祸首。
并且不要使用任何形式的动画GIF。我们的经验是,这(奇怪的是)会极大地拖累性能。
发布于 2013-01-08 10:28:57
我的建议是你自己写拖拽。这并不难。代码的关键部分如下所示:
var yourDomElement = document.getElementById("demoDrag");
yourDomElement.addEventListener("touchstart", function (e) {
e.preventDefault();
//todo
});
yourDomElement.addEventListener("touchmove", function (e) {
//todo:
});
yourDomElement.addEventListener("touchend", function (e) {
//todo
});
你可以找到许多示例代码here (例如/assets/www/scripts/novas/framwork/nova.Carousel.js,和scroller.js)。您应该阅读示例代码来学习如何编写自己的“拖动”。
如果您仍然不知道,您可以联系our team来完成您的任务。我们制作了性能非常好的phonegap应用程序。
发布于 2013-01-08 11:14:37
如果使用div并将overflow设置为auto,然后应用此修复程序,以便可以滚动元素,那该怎么办?
http://chris-barr.com/index.php/entry/scrolling_a_overflowauto_element_on_a_touch_screen_device/
简短摘录:
function touchScroll(id){
var el=document.getElementById(id);
var scrollStartPos=0;
document.getElementById(id).addEventListener("touchstart", function(event) {
scrollStartPos=this.scrollTop+event.touches[0].pageY;
event.preventDefault();
},false);
document.getElementById(id).addEventListener("touchmove", function(event) {
this.scrollTop=scrollStartPos-event.touches[0].pageY;
event.preventDefault();
},false);
}
https://stackoverflow.com/questions/14084318
复制相似问题