我想知道你加载简单的PhoneGap应用程序有多快.我的简单应用程序在Galaxy S3上需要6-8秒(所有资源都存储在本地驱动器中).不确定PhoneGap是否正常.
任何人都可以打2-3秒加载时间?有什么提示让它加载更快?
Ker*_*tts 29
轶事数据:
我的phonegap应用程序可以在iPad上加载2秒钟(从点击图标)3.即便如此,建议您使用启动画面插件来保持启动,直到您的应用程序的UI已加载,以防止任何闪烁等.
你可以做的事情:
1)不要等待数据开始显示您的用户界面.
在我的一个应用程序中,文件系统提供后备数据.虽然文件系统很快,但没有理由在等待时阻止用户界面的初始显示.虽然暂时会有一个初始的空白界面,但这是可以的 - 实际上,Apple的启动屏幕指南是将用户界面显示为无人居住.(并非大多数人同意或遵循建议).
如果您要加载任何网络数据,情况也是如此 - 尽快显示UI以消除缓慢加载应用程序的感觉.然后,如果您的数据加载速度很慢,请设置一个微调器.用户将看到您的应用已快速加载,并且网络现在是瓶颈.
2)减少起始资产的数量/数量
您可以在启动时加载的脚本,样式表等越少越好.大多数Web视图在尽可能多地管理这些视图方面相当不错,但从根本上说,Web视图需要加载的数据越多,只是为了显示您的UI,您的应用程序的加载时间就越慢.(这就是为什么Apple对启动画面的建议有意义:几乎立即显示一个无人居住的UI应该可以帮助用户感觉应用程序已经快速加载,即使它没有.我不完全相信这个论点. .!)
实质上,您应该尝试加载生成未填充UI所需的最少资产数量,然后在显示后加载其余资源.如果这需要时间,请抛出一个微调器.
3)将插件数量减少到应用程序功能所需的裸数
插件需要时间来初始化,并且它们在deviceready
被调用之前会这样做.你拥有的插件越多,你的应用程序开始运行的时间就越长.如果你可以在之前抛出一个未填充的UI deviceready
,你可以在某种程度上缓解这个问题,但这只有在你没有完全依赖于一个或多个正在加载的插件时才有效.再次,这就是启动画面插件很有用的原因.)
4)在UI出现之前,避免任何复杂的计算
当然,如果可能的话.即使您的应用程序需要推送数据(比如在首次启动时创建数据库),首先抛出UI,然后在处理数据时抛出微调器.如果您的应用需要计算复杂的内容,请首先调出UI,然后处理您的数字.
5)了解某些加载时间不受您的控制
必须加载本机包装器,然后必须初始化Web视图(这需要时间),然后必须加载cordova.js(以便在本机和Web端之间进行接口).这是你真正无法避免的东西(尽管如果你没有使用Cordova的任何功能,你可以避免使用cordova.js.但是为什么不在这种情况下构建一个更简单的shell - 根本不需要使用Cordova. )
6)设备差异很大
当然,一台设备上的加载时间与另一台设备上的加载时间无关.这在任何平台上都是如此,但我怀疑它在Android上更加明显,因为设备的成本范围很广.一个缓慢的Android设备显然需要花费更长的时间来加载您的应用程序而不是顶级的Android模型.对于较新的设备也是如此.例如,如果我的应用程序可以在全新的iPad上以2s加载,那么在旧硬件上可能会花费更长的时间.(对我来说,我认为如果我可以在iPad 3上加载应用程序2-3秒 - 这不是最新的 - 它应该在更新的硬件上加载更快).
最后:
我不确定你的负载时间是否会低于1-2秒.我还可以说2-3次加载时间通常不难实现 - 我没有在我的大多数应用程序中付出任何特别的努力,并且它们可以快速有效地加载.(事实上,我的一个原生应用程序加载速度比我的phonegap应用程序慢--4秒对2-3.)
归档时间: |
|
查看次数: |
11652 次 |
最近记录: |