Hello,
my application made with ionic 3 takes on average 10 seconds to start by presenting the white screen.
can someone help me solve this problem please?
What is your ionic info
?
How are you building your app?
Hello!
Ionic Framework: 3.6.0
Ionic App Scripts: 2.1.3
Angular Core: 4.1.3
Angular Compiler CLI: 4.1.3
Node: 6.10.2
OS Platform: Windows 10
cordova run android --prod --release
This is old and should be updated.
This is not a ionic
command, so adding --prod
does nothing.
Try ionic cordova run android --prod --release
.
sorry i wanted to say ionic cordova run android --prod --release
or
ionic cordova build android --prod --release
I tried with these two commands but the result is the same. The blank page takes more than 9 seconds.
I have updated my dependencies and here is the overview of my dependencies. Despite this the blance page at startup always puts more than 14 seconds. Help me please, I find this time abnormal.
âdependenciesâ: {
â@ionic-native/cameraâ: â^4.2.1â,
â@ionic-native/diagnosticâ: â^4.2.1â,
â@ionic-native/geolocationâ: â^4.2.0â,
â@ionic-native/local-notificationsâ: â^4.2.1â,
â@ionic-native/location-accuracyâ: â^4.2.1â,
â@ionic-native/native-geocoderâ: â^4.2.1â,
â@ionic-native/native-storageâ: â^4.2.0â,
â@ionic-native/networkâ: â^4.2.1â,
â@ionic/storageâ: â2.0.1â,
â@ngx-translate/coreâ: â^8.0.0â,
â@ngx-translate/http-loaderâ: â^0.1.0â,
"@angular/common": "4.4.3",
"@angular/compiler": "4.4.3",
"@angular/compiler-cli": "4.4.3",
"@angular/core": "4.4.3",
"@angular/forms": "4.4.3",
"@angular/http": "4.4.3",
"@angular/platform-browser": "4.4.3",
"@angular/platform-browser-dynamic": "4.4.3",
"@ionic-native/core": "4.3.1",
"@ionic-native/splash-screen": "4.3.1",
"@ionic-native/status-bar": "4.3.1",
"ionic-angular": "3.7.1",
"ionicons": "3.0.0",
"rxjs": "5.4.3",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
},
âdevDependenciesâ: {
â@ionic/app-scriptsâ: â3.0.0â,
â@types/googlemapsâ: â^3.26.20â,
âtypescriptâ: â2.3.4â
},
âcordovaPluginsâ: [
âcordova-plugin-consoleâ,
âcordova-plugin-statusbarâ,
âcordova-plugin-whitelistâ,
âcordova-plugin-deviceâ,
âcordova-plugin-splashscreenâ,
âionic-plugin-keyboardâ
],
Please post the output of ionic info
on the command line.
(If this above was it, update your Ionic CLI to a current version)
ordova CLI: 6.5.0
Ionic Framework Version: 3.6.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 2.1.3
This is old. Upgrade.
@ionic/cli-utils : 1.13.1
ionic (Ionic CLI) : 3.13.1
local packages:
@ionic/app-scripts : 3.0.0
Ionic Framework : ionic-angular 3.6.0
System:
Node : v6.10.2
npm : 3.10.10
OS : Windows 10
Misc:
backend : pro
With this update I moved to 13 seconds now.
This doesnât show any Cordova information. Why?
I do not know why, but cordova -v : 7.1.0
What does your app.module.ts
look like?
import { NgModule, ErrorHandler } from â@angular/coreâ;
import { BrowserModule } from â@angular/platform-browserâ;
import { IonicApp, IonicModule, IonicErrorHandler } from âionic-angularâ;
import { MyApp } from â./app.componentâ;
import { LocationAccuracy } from â@ionic-native/location-accuracyâ;
import { Network } from â@ionic-native/networkâ;
import { Diagnostic } from â@ionic-native/diagnosticâ;
import { LocalNotifications } from â@ionic-native/local-notificationsâ;
import { NativeGeocoder, NativeGeocoderReverseResult, NativeGeocoderForwardResult } from â@ionic-native/native-geocoderâ;
import { IonicStorageModule } from â@ionic/storageâ;
import { AboutPage } from ââŚ/pages/about/aboutâ;
import { ContactPage } from ââŚ/pages/contact/contactâ;
import { HomePage } from ââŚ/pages/home/homeâ;
import { TabsPage } from ââŚ/pages/tabs/tabsâ;
import { AllNightDrugstore } from ââŚ/pages/all-night-drugstore/all-night-drugstoreâ;
import { Advice } from ââŚ/pages/advice/adviceâ;
import { Notifications } from ââŚ/pages/notifications/notificationsâ;
import { Ordonnance } from ââŚ/pages/ordonnance/ordonnanceâ;
import { Search } from ââŚ/pages/search/searchâ;
import { Settings } from ââŚ/pages/settings/settingsâ;
import { DrugnstoreDetail } from ââŚ/pages/drugnstore-detail/drugnstore-detailâ;
import { Register } from ââŚ/pages/register/registerâ;
import { Login } from ââŚ/pages/login/loginâ;
import { Drugstore } from ââŚ/pages/drugstore/drugstoreâ;
import { MyDrugstores } from ââŚ/pages/my-drugstores/my-drugstoresâ;
import { MyDrugstoresUsers } from ââŚ/pages/my-drugstores-users/my-drugstores-usersâ;
import { Timer } from ââŚ/pages/timer/timerâ;
import { Map } from ââŚ/pages/map/mapâ;
import { Test } from ââŚ/pages/test/testâ;
import { ChooseDrugstore } from ââŚ/pages/choose-drugstore/choose-drugstoreâ;
import { EmergencyNumber } from ââŚ/pages/emergency-number/emergency-numberâ;
import { NotificationDetails } from ââŚ/pages/notification-details/notification-detailsâ;
import { Guard } from ââŚ/pages/guard/guardâ;
import { IsDrugstoreAccount } from ââŚ/pages/is-drugstore-account/is-drugstore-accountâ;
import { DrugstoreSearchResult } from ââŚ/pages/drugstore-search-result/drugstore-search-resultâ;
import { AddUser } from ââŚ/pages/add-user/add-userâ;
import { TranslateModule, TranslateLoader } from â@ngx-translate/coreâ;
import { TranslateHttpLoader } from â@ngx-translate/http-loaderâ;
import { HttpModule, Http } from â@angular/httpâ;
import { StatusBar } from â@ionic-native/status-barâ;
import { SplashScreen } from â@ionic-native/splash-screenâ;
import { Geolocation } from â@ionic-native/geolocationâ;
import { GeocoderProvider } from ââŚ/providers/geocoderâ;
import { ClientService } from ââŚ/providers/client-serviceâ;
export function createTranslateLoader(http: Http) {
return new TranslateHttpLoader(http, â./assets/i18n/â, â.jsonâ);
}
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
Search,
Advice,
AllNightDrugstore,
Notifications,
Ordonnance,
DrugnstoreDetail,
Settings,
Register,
Login,
Drugstore,
MyDrugstores,
MyDrugstoresUsers,
Timer,
NotificationDetails,
Map,
EmergencyNumber,
ChooseDrugstore,
Guard,
DrugstoreSearchResult,
IsDrugstoreAccount,
Test,
AddUser,
TabsPage
],
imports: [
BrowserModule,
HttpModule, // A ajouter pour les API
IonicStorageModule.forRoot(),
IonicModule.forRoot(MyApp),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
}
})
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
Search,
Advice,
AllNightDrugstore,
Notifications,
Ordonnance,
DrugnstoreDetail,
Settings,
Register,
Login,
Drugstore,
MyDrugstores,
MyDrugstoresUsers,
Timer,
NotificationDetails,
Map,
EmergencyNumber,
ChooseDrugstore,
Guard,
DrugstoreSearchResult,
IsDrugstoreAccount,
Test,
AddUser,
TabsPage
],
providers: [
Geolocation,
Network,
Diagnostic,
LocationAccuracy,
LocalNotifications,
NativeGeocoder,
StatusBar,
SplashScreen,
GeocoderProvider,
ClientService,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
Is this normal latency time normal? Need help please
Try updating to ionic-angular 3.7.1
.
Using ionic cordova build ios --prod
(and for android) I get boot times under 3 seconds on newer devices (iPhone 6 and the original Pixel), using ionic info
at the bottom.
If by white screen you mean that the splash screen is hidden, then perhaps there is an API call that is taking 10 seconds to process before any data is displayed.
If the splashscreen is a white screen, then make sure you are hiding the splash screen on the platform.ready() subscription and you have reasonable settings in your config.xml according to the splashscreen documentation (https://github.com/apache/cordova-plugin-splashscreen).
ionic info
:
@ionic/cli-utils : 1.13.1
ionic (Ionic CLI) : 3.13.1
global packages:
cordova (Cordova CLI) : 7.0.1
local packages:
@ionic/app-scripts : 3.0.0
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.7.1
System:
ios-deploy : 1.9.1
ios-sim : 5.0.13
Node : v7.4.0
npm : 4.0.5
OS : macOS Sierra
Xcode : Xcode 9.0 Build version 9A235
Misc:
backend : legacy
I have updated ionic to 3.13.1 and it works, I am less than 5 seconce, thanks!
Hi, thank you for your contribution, I updated but I still find this error : UNMET PEER DEPENDENCY @ionic-native/core@4.3.0. Here is my package.json below
{
ânameâ: âxxxxxxxxxxxxxxxâ,
âversionâ: â0.0.0â,
âauthorâ: âxxxxxxxxxxxâ,
âhomepageâ: âxxxxxxxxxxxxxxxxâ,
âprivateâ: true,
âscriptsâ: {
âcleanâ: âionic-app-scripts cleanâ,
âbuildâ: âionic-app-scripts buildâ,
âlintâ: âionic-app-scripts lintâ,
âionic:buildâ: âionic-app-scripts buildâ,
âionic:serveâ: âionic-app-scripts serveâ
},
âdependenciesâ: {
"@angular/common": â4.1.3â,
"@angular/compiler": â4.1.3â,
"@angular/compiler-cli": â4.1.3â,
"@angular/core": â4.1.3â,
"@angular/forms": â4.1.3â,
"@angular/http": â4.1.3â,
"@angular/platform-browser": â4.1.3â,
"@angular/platform-browser-dynamic": â4.1.3â,
"@ionic-native/app-version": â^4.3.2â,
"@ionic-native/camera": â^4.3.2â,
"@ionic-native/core": â^3.14.0â,
"@ionic-native/crop": â^4.3.2â,
"@ionic-native/deeplinks": â^4.3.2â,
"@ionic-native/device": â^4.3.2â,
"@ionic-native/diagnostic": â^4.3.3â,
"@ionic-native/file": â^4.3.2â,
"@ionic-native/file-path": â^4.3.2â,
"@ionic-native/file-transfer": â^4.3.2â,
"@ionic-native/geolocation": â^4.3.3â,
"@ionic-native/image-picker": â^4.3.2â,
"@ionic-native/local-notifications": â^4.3.3â,
"@ionic-native/location-accuracy": â^4.3.3â,
"@ionic-native/native-geocoder": â^4.3.3â,
"@ionic-native/native-storage": â^4.3.3â,
"@ionic-native/network": â^4.3.3â,
"@ionic-native/sms": â^4.3.2â,
"@ionic-native/social-sharing": â^4.3.2â,
"@ionic-native/splash-screen": â^3.14.0â,
"@ionic-native/status-bar": â^3.14.0â,
"@ionic-native/transfer": â^3.14.0â,
"@ionic-native/unique-device-id": â^4.3.2â,
"@ionic/storage": â2.0.1â,
"@ngx-translate/core": â^8.0.0â,
"@ngx-translate/http-loader": â^0.1.0â,
âcordova-browserâ: â^5.0.0â,
âcordova-plugin-app-versionâ: â^0.1.9â,
âcordova-plugin-cameraâ: â^2.4.1â,
âcordova-plugin-consoleâ: â1.0.5â,
âcordova-plugin-cropâ: â^0.4.0â,
âcordova-plugin-deviceâ: â1.1.4â,
âcordova-plugin-fileâ: â^4.3.3â,
âcordova-plugin-file-transferâ: â^1.6.3â,
âcordova-plugin-filepathâ: â^1.1.0â,
âcordova-plugin-geolocationâ: â~2.4.3â,
âcordova-plugin-image-pickerâ: â^1.1.3â,
âcordova-plugin-splashscreenâ: â~4.0.1â,
âcordova-plugin-statusbarâ: â2.2.2â,
âcordova-plugin-telerik-imagepickerâ: â^2.1.8â,
âcordova-plugin-uniquedeviceidâ: â^1.3.2â,
âcordova-plugin-whitelistâ: â1.3.1â,
âcordova-plugin-x-socialsharingâ: â^5.2.1â,
âcordova-sms-pluginâ: â^0.1.11â,
âes6-promise-pluginâ: â^4.1.0â,
âionic-angularâ: â3.6.0â,
âionic-plugin-deeplinksâ: â^1.0.15â,
âionic-plugin-keyboardâ: â~2.2.1â,
âioniconsâ: â3.0.0â,
ârxjsâ: â5.4.0â,
âsw-toolboxâ: â3.6.0â,
âzone.jsâ: â0.8.12â
},
âdevDependenciesâ: {
"@ionic/app-scripts": â^3.0.0â,
"@types/googlemaps": â^3.26.20â,
âtypescriptâ: â2.3.4â
},
âcordovaPluginsâ: [
âcordova-plugin-consoleâ,
âcordova-plugin-statusbarâ,
âcordova-plugin-whitelistâ,
âcordova-plugin-deviceâ,
âcordova-plugin-splashscreenâ,
âionic-plugin-keyboardâ
],
âcordovaPlatformsâ: [],
âdescriptionâ: âxxxxxxxxxxxxxâ,
âcordovaâ: {
âpluginsâ: {
âionic-plugin-keyboardâ: {},
âcordova-plugin-whitelistâ: {},
âcordova-plugin-consoleâ: {},
âcordova-plugin-statusbarâ: {},
âcordova-plugin-deviceâ: {},
âcordova-plugin-splashscreenâ: {},
âcordova-plugin-geolocationâ: {},
âcordova-plugin-image-pickerâ: {},
âcordova-plugin-cropâ: {},
âionic-plugin-deeplinksâ: {
âURL_SCHEMEâ: âdemoappâ,
âDEEPLINK_SCHEMEâ: âhttpsâ,
âDEEPLINK_HOSTâ: âdemoapp.comâ,
âANDROID_PATH_PREFIXâ: â/â,
âANDROID_2_PATH_PREFIXâ: â/â,
âANDROID_3_PATH_PREFIXâ: â/â,
âANDROID_4_PATH_PREFIXâ: â/â,
âANDROID_5_PATH_PREFIXâ: â/â,
âDEEPLINK_2_SCHEMEâ: " ",
âDEEPLINK_2_HOSTâ: " ",
âDEEPLINK_3_SCHEMEâ: " ",
âDEEPLINK_3_HOSTâ: " ",
âDEEPLINK_4_SCHEMEâ: " ",
âDEEPLINK_4_HOSTâ: " ",
âDEEPLINK_5_SCHEMEâ: " ",
âDEEPLINK_5_HOSTâ: " "
},
âcordova-plugin-x-socialsharingâ: {},
âcordova-sms-pluginâ: {},
âcordova-plugin-cameraâ: {},
âcordova-plugin-fileâ: {},
âcordova-plugin-file-transferâ: {},
âcordova-plugin-filepathâ: {},
âcordova-plugin-uniquedeviceidâ: {},
âcordova-plugin-app-versionâ: {}
},
âplatformsâ: [
âbrowserâ
]
}
}
use lazy loading ionic. https://ionicframework.com/docs/v3/api/navigation/IonicPage/