35327

How can I decrease the Ionic Cordova Project Start duration ?

Question:

I made a ionic cordova project but after publishing to android mobile phone. The duration of our program is around 10-20 sec with respec to the mobile phone types.

When I search this problem, people say that it is because of

<ol><li>Splash Screen duration (<a href="https://stackoverflow.com/questions/37137574/ionic-splash-screen-not-loading" rel="nofollow">Ionic splash screen not loading</a> and <a href="https://stackoverflow.com/questions/43383035/ionic2-performance-issue" rel="nofollow">Ionic2 performance issue</a>)</li> <li>Path problem of any image </li> <li>3rd Party libraries</li> <li>External CDN script libraries</li> <li>Lazy loading of pages </li> </ol>

I try to solve regarding above problems e.g. i removed 3rd party libraries or CDN based scripts and check the all image paths etc..

I think Ionic is a wrong choice for mobile programming.

Is there any solution to decrease the opening duration of my mobile application ?

Thanks

Answer1:

The all other answers are also necessary but I want to add another opinion.

If u use IONIC 3 you can try lazy loading and discard unnecessary 3rd party libraries like awesome or another...

This new feature from Ionic 3 not only makes our code more concise but also avoid the hassle of typing every damn time the same paths in every Class! Lazy Loading allows us to access Pages wherever we want by only using a string.

In old version, u need to use

import { AboutPage } from '../pages/about/about'; import { ContactPage } from '../pages/contact/contact'; import { HomePage } from '../pages/home/home'; import { TabsPage } from '../pages/tabs/tabs'; @NgModule({ declarations: [ MyApp, AboutPage, ContactPage, HomePage, TabsPage ], . . . entryComponents: [ MyApp, AboutPage, ContactPage, HomePage, TabsPage ] })

In Ionic 3 u dont need to import these classes. U can use ionic g page example Then we see that a @IonicPage decorator and a module with a same name in the directory.

import { NgModule } from '@angular/core'; import { IonicPageModule } from 'ionic-angular'; import { Lazy } from './example'; @NgModule({ declarations: [ Example, ], imports: [ IonicPageModule.forChild(example), ], exports: [ Example ] }) export class ExampleModule {}

This pages or components could not be loaded while starting program.

Answer2:

Add these line to you main.prod.ts file.

import { enableProdMode } from '@angular/core'; enableProdMode();

and then build using this command

ionic cordova build android --prod --release

Answer3:

Ionic is the perfect solution for mobile app development.You need to use right CLI for that. Use below one:

<em>debug mode: This CLI supports AOT</em>

ionic cordova run android --prod --device

<em>release mode:</em>

ionic cordova build android --prod --release

You can see this <a href="http://ionicframework.com/docs/cli/cordova/build/" rel="nofollow"><strong>CLI list here</strong></a>

Recommend

  • ProgressBar In Windows phone 7?
  • combination of smote and undersampling on weka
  • What to look for when setting UpdateBatchSize
  • mysqli_result::free increase php memory usage
  • Radio button show hover between two radio button using jquery
  • Django Rest Framework: getting lists from query_params without request.getlist
  • Simple command-line app I/O in Dart
  • How to make SASS put relative paths in its output
  • SQL query to group by maximal sets of a column having inner consecutive distances below a threshold
  • python: forcing relative imports to search from script file
  • Create function that can pass a parameter without making a new component
  • can variables be set randomly when declaring them again?
  • Alamofire and Reachability.swift not working on xCode8-beta5
  • Python 3.2.2, error(scripts to exe)
  • How can we prepend rows to a react native list-view?
  • C# - Most efficient way to iterate through multiple arrays/list
  • Django model inheritance, filtering models
  • Is it possible to open regedit and navigate to straight to a specific key using process.start?
  • How can I set a binding to a Combox in a UserControl?
  • Does it make sense to call System.gc() and Thread.sleep() when working on Bitmaps?
  • Sort List of Strings By Version
  • Test if a set exists before trying to drop it
  • Meteor: Do Something On Email Verification Confirmation
  • How to avoid particles glitching together in an elastic particle collision simulator?
  • Recording logins for password protected directories
  • Splitting given String into two variables - php
  • Read text file and split every line in MSBuild
  • Fetching methods from BroadcastReceiver to update UI
  • Problems to linebreak with an int in JLabel
  • Excel - Autoshape get it's name from cell (value)
  • script to move all files from one location to another location
  • Check if a string to interpolate provides expected placeholders
  • Where to put my custom functions in Wordpress?
  • How to handle AllServersUnavailable Exception
  • ORA-29908: missing primary invocation for ancillary operator
  • RestKit - RKRequestDelegate does not exist
  • Traverse Array and Display in markup
  • WPF Applying a trigger on binding failure
  • Append folder name and increment by 1 using batch script
  • How do I use LINQ to get all the Items that have a particular SubItem?