Pause GC Error publica la actualización de android 4.4.2

Recientemente, mi Galaxy Note 2 se actualizó a la versión 4.4.2. Estoy usando este teléfono para el desarrollo (usando ADT) y la vida útil estaba bien, pero después de este error de actualización “Pausa GC” comenzó a llegar y no puedo resolverlo. Viene cada vez que el estado de cambio de pantalla de UI en mi herramienta ADT LogCat. Debajo está el volcado del error.

Gracias de antemano por la ayuda.

05-13 22:39:22.538: W/dalvikvm(8350): No implementation found for native Ldalvik/system/VMRuntime;.pauseGc:(Ljava/lang/String;)I 05-13 22:39:22.543: E/MyThread(8350): Pause GC 05-13 22:39:22.543: E/MyThread(8350): java.lang.reflect.InvocationTargetException 05-13 22:39:22.543: E/MyThread(8350): at java.lang.reflect.Method.invokeNative(Native Method) 05-13 22:39:22.543: E/MyThread(8350): at java.lang.reflect.Method.invoke(Method.java:515) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread.pauseGC(MyThread.java:5525) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread.performLaunchActivity(MyThread.java:2324) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread.handleLaunchActivity(MyThread.java:2471) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread.access$900(MyThread.java:175) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread$H.handleMessage(MyThread.java:1308) 05-13 22:39:22.543: E/MyThread(8350): at android.os.Handler.dispatchMessage(Handler.java:102) 05-13 22:39:22.543: E/MyThread(8350): at android.os.Looper.loop(Looper.java:146) 05-13 22:39:22.543: E/MyThread(8350): at android.app.MyThread.main(MyThread.java:5602) 05-13 22:39:22.543: E/MyThread(8350): at java.lang.reflect.Method.invokeNative(Native Method) 05-13 22:39:22.543: E/MyThread(8350): at java.lang.reflect.Method.invoke(Method.java:515) 05-13 22:39:22.543: E/MyThread(8350): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 05-13 22:39:22.543: E/MyThread(8350): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 05-13 22:39:22.543: E/MyThread(8350): at dalvik.system.NativeStart.main(Native Method) 05-13 22:39:22.543: E/MyThread(8350): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: dalvik.system.VMRuntime.pauseGc:(Ljava/lang/String;)I 05-13 22:39:22.543: E/MyThread(8350): at dalvik.system.VMRuntime.pauseGc(Native Method) 05-13 22:39:22.543: E/MyThread(8350): ... 15 more 

ACTUALIZACIÓN: He iniciado el problema en code.android.com ( http://code.google.com/p/android/issues/detail?id=71073 ). Según ellos es su error de Samsung, así que he planteado el problema al foro de Samsung ahora.

Después de ver este problema durante un tiempo en mi Note 2 (GT-N7100), Android 4.4.2, quería que mi comentario anterior fuera una respuesta adecuada.

Asignación rastreada en Samsung Galaxy Note 2

Ordenado por tamaño de asignación:

Ordenado por tamaño de asignación

Usé webrtc para rastrear la asignación cuando se usa la cámara Android, y se puede ver claramente que cada vez que se invoca la cámara y el video se representa en GLSurfaceView en una nueva actividad, quedan más de 2 MB de basura, que es nunca recogido por GC.

Para comparar, aquí está la misma asignación rastreada en un ASUS Memo Pad 2, Android 4.2.2:

Asignación rastreada en Asus Memo Pad 2

Ordenado por tamaño de asignación:

Ordenado por tamaño de asignación

En otras palabras, en una Nota 2 puede iniciar una vista en vivo de video de 20 a 30 veces, antes de que la memoria se llene y el dispositivo se cuelgue.

En otras palabras: Samsung presentó este problema con una actualización el año pasado y aún no lo corrigió, ni reactjs de ninguna manera. ¿Samsung quiere hacernos comprar un nuevo dispositivo? Tiene este aspecto.

Y aquí está mi comentario original a partir del 2014-12-11:

Causa problemas. Hace que el dispositivo tome mucha más memoria de la necesaria y se cuelgue. Estamos desarrollando una aplicación con muchas imágenes y videos, y debido al GC faltante es posible hacer que Android scope el límite de 64MB (Nota 2) y locking, mientras que en otros dispositivos el consumo de memoria es mucho menor y la memoria siempre se libera después del uso . Por ejemplo, un Memo Pad de ASUS con la misma resolución consume aproximadamente 12 MB, por lo que el Samsung Note 2 tarda 24 MB. Sin embargo, el dispositivo Samsung es mucho más rápido, probablemente debido a que se omite el GC.

Yo tenía el mismo problema que tú. Estaba usando ACRA y estaba tragando el locking y solo lo mostraba en el logcat.

El error realmente regresó al servidor y pude depurar correctamente. Posiblemente deshabilite ACRA durante la depuración y verá el error adecuado.