Ionic应用程序性能不佳且速度缓慢



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

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

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

首先,Ionic v4的启动时间会更好,因为它们将使用web组件

其次,关于构建时间,如果你想改进它,首先要做的就是使用--prod执行构建,以便告诉ionic-app-scripts将方法(如缩小(应用到你的代码中,以减少捆绑包大小(较小的捆绑包大小=更快的引导(

ionic cordova build ios/android --prod

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

最后还有工作要做,因为就像我上面说的,束的大小很重要。但它也涉及字体、图像等,越少越好。例如,你可以检查你的代码,找出你真正使用的东西,也可以查看你的库,以确保你只包括你需要的东西(例如,如果你使用rxjs,只导入lettable运算符,而不是全部库(。如果感兴趣的话,我在爱奥尼亚论坛上的帖子中整理了一些关于这个主题的信息https://forum.ionicframework.com/t/app-boot-time-current-state-and-best-practices

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

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

<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);
});

最新更新