【问题标题】:Ionic App has bad performance and is slowIonic App 性能差,速度慢
【发布时间】:2018-12-20 11:16:38
【问题描述】:

我有一个带有 Angular 的 Ionic3 应用程序,我知道它不像纯 Android 或 Swift 那样的原生应用程序。但是性能很差。我只有一个空白项目,但如果我启动它,我会出现 1-2 秒的黑屏和 5-8 秒的闪屏/白屏。

我尝试向页面和组件添加延迟加载,但这也很糟糕。如果您单击一个选项卡,它将冻结 1 秒钟,直到打开延迟加载的页面。

这正常吗?我可以减少加载时间吗?

【问题讨论】:

  • 你是在模拟器上测试吗?
  • 在真实设备上使用并构建 --prof
  • 您用于构建 apk 的 ionic 和 APK 版本是什么?

标签: angular ionic-framework


【解决方案1】:

您的偏好也可能存在问题。请尝试在您的配置中更改它们,如下所示。

<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />

在 app.component.ts 中

platform.ready().then(() => {
  // Okay, so the platform is ready and our plugins are available.
  // Here you can do any higher level native things you might need.

  // statusBar.styleDefault();
  statusBar.styleLightContent();
  statusBar.backgroundColorByHexString('B27F16');

  setTimeout(() => {
    splashScreen.hide();
  }, 100);
});

【讨论】:

  • 请不要在答案中添加“希望这有帮助”和其他此类材料。这不是我们在这里喜欢的那种技术写作,而且无论如何,肯定没有人发布一些希望它没有帮助的东西。
【解决方案2】:

首先,Ionic v4 的启动时间会/应该会更好,因为它们会使用 Web 组件

其次,关于您的构建时间,如果您想改进它,首先要做的是使用--prod 执行构建,以便告诉ionic-app-scripts 将方法(如缩小)应用于您的代码为了减小包大小(更小的包大小 = 更快的启动)

ionic cordova build ios/android --prod

您还应该检查您的config.xml 以查看您的 Cordova 闪屏的参数是什么。确保您没有设置过长的延迟,这让您感觉应用程序需要时间才能启动,而实际上应用程序是在初始屏幕后面加载的

最后还有工作要做,因为就像我上面所说的,捆绑包的大小很重要。但它也与字体、图像等有关。越少越好。例如,您可以检查您的代码以找出您真正使用的内容,并检查您的库以确保您只包含您需要的内容(例如,如果您使用 rxjs,则只导入 lettable 运算符而不是所有库)。如果有兴趣,我在 Ionic 论坛上的那篇帖子中汇编了一些关于这个主题的意见https://forum.ionicframework.com/t/app-boot-time-current-state-and-best-practices

p.s.:Ionic v3 性能很好,启动时间可以接受/很好。我的应用程序大约是。 40 个页面、60 个组件、太多插件等。在 iPhone 6s 上 2.5 秒内启动

【讨论】:

  • 在安卓手机上? ;) 我的经验是 iphone 非常快,而 android 手机非常慢
  • 刚刚测试过,同样的应用程序,在我的 Nexus 5X 上启动时间为 3.8 秒,速度稍慢但对我来说还不错
  • 你试过v4了吗?我的应用程序的初始页面加载时间很慢,我希望 v4 对此有所改进
  • 优化后我的应用在 v3 中已经很好了,所以我没有看到太大的差异。我读到它更好,或者上次我在这个主题上交流至少更好一点,我的应用程序也感觉更好一点。但是除了例如从 10 秒跳到 0.1 秒之外,我认为开箱即用的感觉至少要好一些;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多