Jquery移动应用程序奇怪的行为

时间:2012-08-18 12:39:54

标签: android jquery jquery-mobile jquery-plugins cordova

我创建了一个应用程序,其中包含几个按钮,主页单击其中一个按钮,我的应用程序重定向到包含JQM表单的一些视图,包含JQM日历,文本字段,按钮和数据库等....

我的查询是,当我在Android设备上测试我的应用程序时,应用程序工作有点慢,即使我没有使用任何图像,或任何可以包含更多空间的数据。这是我的第一个查询,第二个是当我在那个时候测试我的应用程序到Android平板电脑时,表单页面出现了一段时间并且突然它会自动重定向回主页,而这个功能同样适用于Android手机。

为什么会出现这个奇怪的问题?

如果有人可以指导我这将是我的荣幸

1 个答案:

答案 0 :(得分:5)

很难对缓慢的性能和重定向问题做出假设。下面你可以找到一些方面,我认为这些方面会影响由HTML5,CSS3,JavaScript组成的移动应用程序的性能,并且应该在分析,设计和开发阶段加以考虑。

基于尺寸的实施方法

在开发小型移动应用程序时,建议使用内部AJAX页面链接来使用单个HTML页面。对于更大的移动应用程序,建议使用不同的HTML页面与内部AJAX链接的方法。尝试创建可重用的页面模板。

网页转换

jQM 1.1.1 Docs中所述,默认情况下,除淡化之外的所有过渡都需要3D变换支持。无论指定的转换如何,缺少3D支持的设备都将回退到淡入淡出过渡。 jQM这样做可以主动从高级转换中排除性能不佳的平台,例如Android 2.x,并确保它们仍能获得流畅的体验。请注意,Android 3.0等平台在技术上支持3D变换,但动画性能仍然较差,因此不能保证每个浏览器都能100%无闪烁。在考虑上述情况后,确定您将使用的过渡类型。

缩小JS和CSS文件

每个页面都应尽可能轻量级。缩小的目标是保持代码的操作质量,同时减少其整体字节占用空间。 WEB上有很多可用的工具,如YUI CompressorMinify等等。此外,还有像JLint这样的工具,用于检查JavaScript源代码是否符合编码规则。 JLint是一种代码质量工具,用于检查JavaScript代码中的问题。报告的问题不一定是语法错误,但可能是结构问题。请注意,JLint不能证明您的代码是正确的。将其视为一种帮助工具。还有用于执行CSS优化的工具。优化可帮助您获得更小的CSS文件大小和更好的编写代码。您可以在WEB上找到许多CSS优化器,例如CleanCSSCSSTidy

组件限制

建议将HTML页面限制为25kb,以便为大多数移动Web浏览器获得最佳缓存优势。缓存限制因操作系统版本而异。例如,Android 2.1的缓存限制大约为2Mb。

HTML5& CSS3

尝试创建易于阅读,扩展和可重用的代码。充分利用HTML5和CSS3的使用非常重要。 HTML5 DocType声明(<!DOCTYPE html>)应该是html标记之前HTML5文档中的第一个内容。它是Web浏览器关于页面编写的HTML版本的指令。

使用W3C mobileOK Checker

W3C mobileOK Checker是W3C的免费服务,有助于检查Web文档的移动友好程度,特别是断言Web文档是否为mobileOK。通过所有测试时,网页是mobileOK。测试在mobileOK Basic Tests 1.0 specification中定义。要理解为什么检查Web文档的移动友好性真的很重要,可能值得强调一点关于所谓的移动世界。与普通台式计算机相比,移动设备乍一看可能被认为是有限的:屏幕尺寸更小,处理能力更小,内存量更少,没有鼠标等等。与固定数据连接相比,移动网络可能很慢并且通常具有更高的延迟。与坐在他的计算机前的用户相比,在旅途中的用户时间有限并且容易分心。除了这些限制之外,移动世界还是高度分散的:许多不同的设备,每个设备都定义了一组独特的支持功能。

考虑不同屏幕尺寸的外观

在定位不同的屏幕尺寸时,应考虑屏幕密度和视口大小以及网页的比例。视口元数据可用于定义视口大小,其中视口是绘制页面的容器区域。视口比例定义应用于网页的缩放级别。 target-densitydpi视口属性和CSS,JS技术可用于更改网页的目标屏幕密度。关于不同屏幕尺寸的外观,WEB上有很多文章。

识别潜在延迟的流量

PageSpeed Firefox/Chrome extension可用于检查网页速度。当您使用Page Speed分析网页时,它会评估网页与许多不同规则的一致性。这些规则是您可以在Web开发的任何阶段应用的一般前端最佳实践。该扩展提供了有关如何最好地实施规则并将其纳入开发过程的具体提示和建议。

我希望这会有所帮助。