GAMA
GAMA

Reputation: 5996

App takes too long to start-up

I have and android app which takes >=5 seconds to show up after it's icon is clicked.

As soon as I click the icon, I get the black screen with name of the app in status bar. After 5+ seconds, the home screen appears.

I referred this post on SO which and I got following result from stack trace

16:13:14.915: I/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=packageName/.SelectType }
16:13:14.954: I/SurfaceFlinger(59): 
16:13:14.954: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->mIdentity=176, LayerName= Starting packageName
16:13:14.954: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->clientIndex=2, surfaceHandle->mToken=0x2
16:13:16.026: D/AnrParser(184): Waiting kernel log . . .
16:13:16.614: D/dalvikvm(6890): GC_FOR_MALLOC freed 12274 objects / 785016 bytes in 135ms
16:13:17.784: D/dalvikvm(133): GC_EXTERNAL_ALLOC freed 415 objects / 21624 bytes in 1285ms
16:13:17.914: D/dalvikvm(6890): GC_FOR_MALLOC freed 5762 objects / 339024 bytes in 90ms
16:13:18.174: D/AnrParser(184): Waiting kernel log . . .
16:13:18.344: E/keystore(6966): chdir: /data/misc/keystore: Permission denied
16:13:19.693: D/dalvikvm(6890): GC_FOR_MALLOC freed 5994 objects / 372624 bytes in 93ms
16:13:20.173: D/AnrParser(184): Waiting kernel log . . .
16:13:22.173: D/AnrParser(184): Waiting kernel log . . .
16:13:22.743: I/SurfaceFlinger(59): 
16:13:22.743: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->mIdentity=177, LayerName= packageName/packageName.SelectType
16:13:22.743: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->clientIndex=0, surfaceHandle->mToken=0x0
16:13:22.983: D/dalvikvm(6890): GC_FOR_MALLOC freed 21467 objects / 1097728 bytes in 119ms
16:13:23.403: E/keystore(6973): chdir: /data/misc/keystore: Permission denied
16:13:24.173: D/AnrParser(184): Waiting kernel log . . .
16:13:24.923: W/ActivityManager(59): Launch timeout has expired, giving up wake lock!
16:13:25.264: W/ActivityManager(59): Activity idle timeout for HistoryRecord{47f56388 packageName/.SelectType}
16:13:25.403: I/ActivityManager(59): Displayed activity packageName/.SelectType: 10206 ms (total 10206 ms)

As you can see in above log, 1st statement is 16:13:14.915: I/ActivityManager(59): Starting activity and last one is 16:13:25.403: I/ActivityManager(59): Displayed activity.

So there is a gap of approx. 10 to 11 seconds.

Any help appreciated.

Upvotes: 5

Views: 7637

Answers (2)

Areeba Qurashi
Areeba Qurashi

Reputation: 119

In my case, this happens when I use the custom theme in the application tag and with app launcher Activity in Manifest File

Such that i use this custom theme

android:theme="@style/Theme.MyAppTheme"

But when I remove the theme from the application tag and change the app launcher Activity theme to the default theme my problem is Solve

I Change the app launcher Activity theme with

 android:theme="@style/Theme.AppCompat.Light.NoActionBar"

Upvotes: 0

Alécio Carvalho
Alécio Carvalho

Reputation: 13647

You might be executing something heavy on the onCreate() or onResume() of the activity...try to debug it to see if you are performing database or I/O operations in these methods directly. You can also activate the StrictMode for a better overview of what is slowing your app down.

Upvotes: 2

Related Questions