我被要求为客户创建一个应用程序,它可能同时适用于
Android和iOS(首先专注于iOS).所以我认为Qt可能就是答案.我想使用Qt Quick创建应用程序,但我似乎找不到有效处理多个页面的方法,请记住每个页面可能相当重量级.
到目前为止,我已经尝试过:
>使用加载器分页,即动态拉入所需的屏幕.这有效但第一次加载屏幕时会有明显的延迟
>使每个页面成为一个组件,只显示必要的屏幕.这会在启动时加载所有页面,因为内存太重
>使每个页面成为一个组件并通过ListView显示它们.与上述问题相同.
必须有一个中间立场,在本地iOS应用程序中,视图基本上可以进入低内存模式.欢迎任何建议.
注意:屏幕的进展不一定是线性的
解决方法
我对QML的体验相当有限,但从其他用户体验经验来看,我认为该解决方案将涉及重新分解您的页面以将
Loader项目用于其内部子项/组件.从我读到的内容听起来就像你在每个页面上使用
Loader项目.
例如,当您的程序在您的页面中开始加载时,它应该在内存上相当轻,否则许多仍然是需要动态加载的大型组件.
当用户提供输入以转到特定页面时,动画/显示通常不应该延迟.然后,页面本身应该为每个需要加载的组件使用Loader项(即具有大内存占用的组件).
在加载组件时,您可以显示进度条/滚轮动画.组件通过onLoaded signal完成加载后,您可以隐藏进度条/滚轮.
您可能还需要查看Loader项目的asynchronous property以确保在组件加载时的任何动画(即进度条/滚轮)避免毛刺.
最后,当需要隐藏页面时,只需将每个Loader项目的active property设置为false,它应该释放加载的组件.
希望有帮助,而不是重复你已经尝试过的东西.