My Ionic app runs smoothly on Browser but runs laggy on Android

I use these commands to run my app:

$ ionic cordova run browser
$ ionic cordova run android

The animation and transition effects are smooth when it’s running on Browser, but worse when it’s on Android. My device is Sony Xperia 1 with Android 10.

For your reference, some pages of my app have to load image files from assets folder and their sizes are between 30KB - 3000KB (~3MB).

Here is ionic info and cordova plugins information:

ionic info

Ionic:

   Ionic CLI                     : 5.4.13
   Ionic Framework               : @ionic/angular 4.11.7
   @angular-devkit/build-angular : 0.803.21
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0, browser 6.0.0, ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 7 other plugins)

Utility:

   cordova-res : 0.8.1
   native-run  : 0.3.0

System:

   Android SDK Tools : 26.1.1
   NodeJS            : v10.16.3
   npm               : 6.9.0
   OS                : Windows 10

ionic cordova plugin

cordova-plugin-ble-central 1.2.4 "BLE"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.3 "cordova-plugin-ionic-webview"
cordova-plugin-nativestorage 2.3.2 "NativeStorage"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova.plugins.diagnostic 5.0.1 "Diagnostic"

Thank you.

Can anyone help?
Thanks a lot!

Have you tried running app on iOS device or simulator. I can confirm that my Ionic 4 app runs better on iOS than Android.

i haven’t tried on iOS but i didn’t face any situation of this kind before.

A 3MB image sounds pretty extreme to me. Does it have to be that big? Is it being autoscaled at runtime by the poor device?

What is the optimal size?

The size it’s trying to be displayed at, I would think.