Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android app launch first time launch is taking more time even some time 30 sec and more

Below is log when app is first time installing:

05-12 13:16:23.632 28250-28250/com.app.projectName W/System: ClassLoader referenced unknown path: /data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.041 28250-28250/com.app.projectName W/System: ClassLoader referenced unknown path: /data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: VM with version 2.1.0 has multidex support 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: install 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: VM has multidex support, MultiDex support library is disabled.

And I am using MultiDex library in my project it will work completely below pre lollipop devices.This delay varying in Lollipop devices between 30 sec to 90 sec first time app start up.

See it is not due to MultiDex right? because when time is 1.) initializing 05-12 13:16:23.632 and second log comes after 36 second which is 05-12 13:16:59.041

That thing creates app delay ClassLoader referenced.... MultiDex is initializing fast. Below is the screen shot enter image description here It is taking 15 seconds to 30 seconds and sometime even more.

My Gradle file is:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'

compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.bignerdranch.android:expandablerecyclerview:2.1.1'
compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
compile 'org.apache.httpcomponents:httpcore:4.2.4'
compile 'org.apache.httpcomponents:httpmime:4.3'
compile 'com.google.code.gson:gson:2.5'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.squareup.okhttp3:logging-interceptor:3.1.2'
compile 'co.lujun:androidtagview:1.0.2'

compile 'com.google.android.gms:play-services-analytics:9.0.1'
compile 'com.google.android.gms:play-services-auth:9.0.1'
compile 'com.google.android.gms:play-services-plus:9.0.1'
compile 'com.google.android.gms:play-services-gcm:9.0.1'
compile 'com.google.android.gms:play-services-maps:9.0.1'
compile 'com.google.android.gms:play-services-location:9.0.1'
compile 'org.solovyev.android.views:linear-layout-manager:0.5@aar'
compile 'org.apache.commons:commons-lang3:3.0'

compile 'jp.wasabeef:picasso-transformations:2.0.0'
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.3.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.greysonparrelli.permiso:permiso:0.2.0'
compile 'com.github.lawloretienne:imagegallery:0.0.14'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.facebook.android:facebook-android-sdk:4.10.0'
compile 'com.github.mahmed8003:DroidValidatorLight:1.0.0'
compile 'com.android.support:palette-v7:23.4.0'
compile 'com.yalantis:ucrop:1.1.+'
compile 'com.baoyz.pullrefreshlayout:library:1.2.0'
compile 'com.jakewharton:butterknife:7.0.1'
}

Any help appreciate.

like image 970
Anant Shah Avatar asked May 12 '16 07:05

Anant Shah


People also ask

Why does app take time to open?

Android uses the Time to initial display and Time to full display metrics to optimize cold and warm application startups. Android Runtime (ART) uses the data from these metrics to efficiently precompile code for optimization of future startups.

How do I reduce startup time on Android?

Use lazy initialization: parts of your application don't need to be initialized during startup. Try to identify those parts and delay the initialization as much as possible — e.g., the user profile might only be necessary on the profile activity and not very useful during startup.

How do I reduce app launch time?

Eliminate hidden costs by removing unused frameworks. Outdated and extraneous code adds to your app launch duration. Defer expensive work until after the first frame is rendered: If there are any processes that are not needed for the app to launch, when possible, delay heavy tasks.

Why does Android studio take so long to open?

Android Studio needs at least 8 GB RAM to run better. Change your Hard Disk to SSD. Loading/Compiling/Designing/Writing time will be reduced even in 4GB RAM. Use Power Save mode from File Menu that will reduce lots of background work.


2 Answers

Finally found answer after more then 16 days all thanks to you @Amir. Correct answer is to disabling instant run then run. There is a strange issue with newly released Android Studio 2.0 & 2.1. first time of launching application take longer than usual this issue happens only in debug mode and not effect your released APK.

Settings/Preferences(Mac) → Build, Execution, Deployment → Instant Run and uncheck Instant Run
like image 51
Anant Shah Avatar answered Nov 15 '22 00:11

Anant Shah


Settings/Preferences(Mac) → Build, Execution, Deployment → Instant Run and uncheck Instant Run

enter image description here

I was also facing the same problem and finally i fixed this.
note:
1) before generating an apk file unchecked all these option to resolve delay issue from your production build.

2) while you are developing or adding new features then keep it as default setting(instant run) to make development faster.

I hope this will resolve your issue.

like image 45
Abdul Rizwan Avatar answered Nov 14 '22 22:11

Abdul Rizwan