首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PhoneGap iOS应用程序迁移到安卓系统-遇到可怕的性能问题

将PhoneGap iOS应用程序迁移到安卓系统-遇到可怕的性能问题
EN

Stack Overflow用户
提问于 2012-06-25 22:59:44
回答 1查看 1.6K关注 0票数 5

我们已经花了几个月的时间使用Telerik的PhoneGap 1.8.1和Kendo UI开发了一个相当稳定的iOS应用程序。我要说的是,iOS应用程序的速度大约是其原生应用程序的90%,这对我们来说是完全可以接受的。我们采用了完全相同的代码库,并替换为Android的等效javascript文件,启动了我们的设备(Motorola Xoom运行4.0.3),性能非常糟糕。最糟糕的是页面转换--大概需要0.3秒--需要2-5秒。在模拟器上的性能是相同的,如果不是更差的话(这并不奇怪)。

如果有我可以发布的有用的代码,请让我知道。否则,我猜我们正在寻找遇到这种情况和/或对性能改进提出建议的其他人。在这一点上,PhoneGap对于我们的安卓开发来说是完全不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-25 23:24:21

我们使用Sencha Touch 2进行一些跨平台的移动开发(没有使用Kendo UI的经验)。上一次我详细研究性能时,Sencha Touch 2是全功能/成熟的跨平台移动框架(Jquery Mobile、Kendo UI等)中性能最好的。我们的经验是,在安卓上的性能比iOS慢得多(尽管Sencha Touch2被认为有点快)。滚动列表、屏幕切换等都是不合格的。我对性能的差异感到相当惊讶。在我的Galaxy Nexus 4.0操作系统上,安卓系统的性能更好,但仍然明显慢于iOS设备。

不幸的是,我没有看到一种方法让你的应用程序在Android上的表现和在iOS上一样。这就是我不久前遇到的不幸的现实。您所看到的问题是由于浏览器在不同平台上的性能所致;phonegap只是使用UIWebView和WebView在本机应用程序包装中加载html和javascript页面。您可以在设备的浏览器中加载Kendo UI应用程序吗?我假设它的性能和原生包装的应用是一样的。

我们的“解决方案”一直是首先为Android开发,并让应用程序达到正常运行的程度。然后我们就知道它们在iOS设备上会很棒。

我对Kendo UI不是很熟悉,但就建议或调整而言,我们尽量少保留在DOM中。当应用程序启动时,我们在DOM中创建尽可能少的对象,然后根据应用程序的需要创建/销毁对象。此外,只需对javascript进行常规优化也会有所帮助。

我认为这是移动框架的一个肮脏的小秘密。当你问他们这个问题时,他们的回答是Android浏览器的性能很慢,所以应用程序会很慢。也就是说,“不是我们的错”,但他们继续描绘了一个在所有平台上都能很好地工作的框架。

对我们来说,Sencha Touch 2已经足够快了,它为我们的用户在Android设备上提供了良好的体验,所以与为每个平台开发本地应用程序相比,节省大量的时间是值得的。

只是为了澄清,你看到的性能问题可能与PhoneGap无关,而是设备上的浏览器性能。PhoneGap本质上只是将WebView包装在本机应用程序包装器中。当同时使用PhoneGap和Sencha Touch本地包时,我们已经看到了Android上的性能问题。

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

https://stackoverflow.com/questions/11191819

复制
相关文章

相似问题

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