android – QML中的多页面应用程序

我被要求为客户创建一个应用程序,它可能同时适用于 Android和iOS(首先专注于iOS).所以我认为Qt可能就是答案.我想使用Qt Quick创建应用程序,但我似乎找不到有效处理多个页面方法,请记住每个页面可能相当重量级.

到目前为止,我已经尝试过:

>使用加载器分页,即动态拉入所需的屏幕.这有效但第一次加载屏幕时会有明显的延迟
>使每个页面成为一个组件,只显示必要的屏幕.这会在启动时加载所有页面,因为内存太重
>使每个页面成为一个组件并通过ListView显示它们.与上述问题相同.

必须有一个中间立场,在本地iOS应用程序中,视图基本上可以进入低内存模式.欢迎任何建议.

注意:屏幕的进展不一定是线性的

解决方法

我对QML的体验相当有限,但从其他用户体验经验来看,我认为该解决方案将涉及重新分解您的页面以将 Loader项目用于其内部子项/组件.从我读到的内容听起来就像你在每个页面上使用 Loader项目.

例如,当您的程序在您的页面中开始加载时,它应该在内存上相当轻,否则许多仍然是需要动态加载的大型组件.

用户提供输入以转到特定页面时,动画/显示通常不应该延迟.然后,页面本身应该为每个需要加载的组件使用Loader项(即具有大内存占用的组件).

在加载组件时,您可以显示进度条/滚轮动画.组件通过onLoaded signal完成加载后,您可以隐藏进度条/滚轮.

您可能还需要查看Loader项目的asynchronous property以确保在组件加载时的任何动画(即进度条/滚轮)避免毛刺.

最后,当需要隐藏页面时,只需将每个Loader项目的active property设置为false,它应该释放加载的组件.

希望有帮助,而不是重复你已经尝试过的东西.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...