【问题标题】:Sencha Touch 2.3 with Cordova 3.5 launch time is longSencha Touch 2.3 with Cordova 3.5 启动时间长
【发布时间】:2014-08-26 14:32:26
【问题描述】:

如果您使用 sencha app generate... 创建示例 Sencha Touch 2.3 应用程序并将其与 Cordova 打包,您将看到启动应用程序并显示主视图大约需要 4 秒。如果这个基本的骨架应用程序需要这么长时间,那么具有更多视图、控制器、商店等的实际应用程序将需要更长的时间(6-8 秒以上)。

有什么办法可以加快发射速度?作为参考,让我们以 sencha 启动应用程序本身为例。现在需要4秒。那么我们如何提高性能,使启动时间为 1 秒或不到 1 秒呢?

【问题讨论】:

    标签: android ios cordova sencha-touch sencha-touch-2.3


    【解决方案1】:

    除了你应该只包含必要的控制器、视图等......从生成开发、测试构建与压缩、最小化所有 js(Sencha+你的代码)的生产构建之间存在很大差异独特的“js”文件和一个独特的“css”文件,大大缩短了启动时间(在开发阶段,每个类都是一个单独的文件)。

    sencha app build production 
    

    【讨论】:

    • 我做了一个 sencha 应用程序构建包,因为我必须使用 Cordova 为 Android 和 iOS 打包应用程序。在这种情况下,是否建议生产构建而不是包构建?
    • 包是最好的解决方案,也可以最大限度地减少设备内静态内容的内容。
    【解决方案2】:

    我的建议是:

    • 避免过度嵌套视图
    • 进行分层加载(并非所有视图控制器模型和存储在 app.js 中,但使用需要)
    • 确保您没有创建对象,并让它们在没有适当破坏的情况下随意使用。
    • 速度很大程度上取决于手机,因此如果您的目标是资源有限的手机,可能需要考虑其他选择。

    据说这不是原生的,您不会获得相同的速度(至少现在不是),但您可以获得很多其他好处。

    【讨论】:

    • 我有大约 20 个视图、5 个控制器、10 个模型和 10 个商店,所有这些都在 app.js 中定义。我是否应该在 app.js 中只定义 1 个视图和 1 个控制器,并在控制器中根据需要提及剩余的视图、控制器、模型和存储?
    • 不,require 的使用方式应该是每个视图都需要它所使用的所有其他视图。例如,在 app.js 中可以加载 MainView.js 并假设视图有 2 个项目(MyPanel 和 MyGrid),这 2 个视图作为 MainView.js 的要求会很好
    【解决方案3】:

    由于以下原因(我遇到过),大多数情况下启动应用程序需要很长时间

    1.直接在app.js中不必要的加载控制器、视图。

    2.每当我们刷新应用程序时,都会不必要地加载静态图像/pdf(任何静态内容)。

    如果您在任何煎茶触摸应用程序中正确遵循这些步骤,以下步骤将很有用。

    1. 不要直接加载 app.js 中的所有控制器,您可以加载特定于设备的控制器 使用配置文件,如下所示

      个人资料:['平板电脑','手机'],

      上面一行在app.js中,它负责加载相应的配置文件,这些配置文件进一步负责根据设备加载所有控制器和视图。

    2. app.json 文件包含 app.cache 部分,里面有缓存部分,您可以在其中提及所有静态图像或 pdf,以避免每次不必要的加载。

    【讨论】:

    • 当我使用 Cordova for android 和 iOS 打包我的应用程序时,app.cache 逻辑在这里有意义吗?我知道如果 Web 应用程序每次都必须重复下载图像,它会缓存图像。但是打包的应用程序呢,缓存逻辑在这里也起作用吗?
    【解决方案4】:

    正如malcubierre 所说,我们需要使用sencha app build 命令压缩所有需要的js 和css 文件。如果您特别针对手机,那么您可以使用sencha app build package 命令。

    您还可以从 app.scss 文件中删除您未在应用程序中使用的额外导入。删除主题部分中的额外导入可减少 app.css 的加载时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      相关资源
      最近更新 更多