Search code examples
androidandroid-4.2-jelly-beanflicker

App flicks or twinkles at some point on android 4.2.2


I have spent long time on this, this is driving me craze.

My app works all fine on android 4.1 and below. But it have a big problem running on android 4.2.2

At some point the app just start a endless flicking or twinkling, until it eat up all memory of the phone, then the phone died.

I have no idea where this problem is triggered, i don't know which line of code cause this strange problem. Because it has not bad log at all, it runs from onCreate to the final line of onResume and its all fine, but after that it just jumped in to onDestroy automatically, then run into onCreate again, it's an endless loop.

During the loops, all logs i have got is like this:

11-26 16:48:56.497    1491-1491/com.efergy.module W/EGL_emulation﹕ eglSurfaceAttrib not implemented
11-26 16:48:56.545    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 212K, 47% free 18253K/34312K, paused 1ms+0ms, total 6ms
11-26 16:48:56.549    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 6K, 47% free 18251K/34312K, paused 1ms+0ms, total 6ms
11-26 16:48:56.565    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 259K, 47% free 18505K/34312K, paused 0ms+1ms, total 4ms
11-26 16:48:56.593    1491-1491/com.efergy.module W/EGL_emulation﹕ eglSurfaceAttrib not implemented
11-26 16:48:56.649    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 269K, 47% free 18253K/34312K, paused 0ms+1ms, total 6ms
11-26 16:48:56.661    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 6K, 47% free 18251K/34312K, paused 0ms+1ms, total 7ms
11-26 16:48:56.673    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 244K, 47% free 18448K/34312K, paused 1ms+1ms, total 7ms
11-26 16:48:56.705    1491-1491/com.efergy.module W/EGL_emulation﹕ eglSurfaceAttrib not implemented
11-26 16:48:56.753    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 213K, 47% free 18254K/34312K, paused 0ms+0ms, total 5ms
11-26 16:48:56.761    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 6K, 47% free 18251K/34312K, paused 0ms+1ms, total 7ms
11-26 16:48:56.773    1491-1491/com.efergy.module D/dalvikvm﹕ GC_EXPLICIT freed 259K, 47% free 18505K/34312K, paused 0ms+0ms, total 5ms
11-26 16:48:56.793    1491-1491/com.efergy.module W/EGL_emulation﹕ eglSurfaceAttrib not implemented  

Any words or recommendations to help me find out where the problem is are appreciated. Thanks in advance.


Solution

  • Finally i solved this problem by myself.

    In my case, it caused by the abuse of

    updateConfiguration()
    

    i use it to manage language in each activity inside

    onConfigurationChanged()
    

    Once the change of the orientation triggered the onConfigurationChanged(), inside it will call updateConfiguration() which will trigger onConfigurationChanged() again, that will running into an endless loop.

    So carefully review your use of these two functions, you will find something.