Pause GC Error après la mise à niveau Android 4.4.2

Récemment, mon Galaxy Note 2 a été mis à niveau vers la version 4.4.2. J’utilise ce téléphone pour le développement (en utilisant ADT) et la vie s’est bien passée mais postez cette mise à jour “Pause GC” erreur a commencé à venir et je suis incapable de résoudre. Il arrive chaque fois que l’état de l’écran de l’interface utilisateur change dans mon outil ADT LogCat. Ci-dessous, le vidage de l’erreur.

Merci d’avance pour l’aide.

05-13 22:39:22.538: W/dalvikvm(8350): No implementation found for native Ldalvik/system/VMRuntime;.pauseGc:(Ljava/lang/Ssortingng;)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/Ssortingng;)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 

MISE À JOUR: J’ai initié le problème à l’adresse code.android.com ( http://code.google.com/p/android/issues/detail?id=71073 ). Par leur bogue Samsung, j’ai soulevé le problème sur le forum Samsung maintenant.

Après avoir vu ce problème pendant un certain temps sur ma note 2 (GT-N7100), Android 4.4.2, je voulais faire de mon commentaire ci-dessus une réponse correcte.

Allocation suivie sur Samsung Galaxy Note 2

Tri par taille d’allocation:

Tri par taille d'allocation

J’ai utilisé webrtc pour suivre l’allocation lorsque l’appareil photo Android est utilisé, et on peut clairement voir que chaque fois que la caméra est appelée et que la vidéo est rendue sur GLSurfaceView dans une nouvelle activité, il rest plus de 2 Mo de jamais réunis par GC.

Pour comparer, voici la même allocation suivie sur un ASUS Memo Pad 2, Android 4.2.2:

Allocation suivie sur Asus Memo Pad 2

Tri par taille d’allocation:

Tri par taille d'allocation

En d’autres termes, sur une note 2, vous pouvez démarrer une vue vidéo en direct environ 20 à 30 fois, avant que la mémoire ne soit saturée et que l’appareil ne plante.

En d’autres termes: Samsung a présenté ce problème avec une mise à jour l’année dernière et ne l’a pas encore réparé, ni réagi en aucune façon. Est-ce que Samsung veut nous faire acheter un nouvel appareil? Ressemble à ça.

Et voici mon commentaire original en date du 2014-12-11:

Cela cause des problèmes. Cela fait que l’appareil prend beaucoup plus de mémoire que nécessaire et se bloque. Nous développons une application avec de nombreuses images et vidéos, et en raison du manque de GC, il est possible de faire en sorte que Android atteigne la limite de 64 Mo (note 2). . Par exemple, un bloc-notes ASUS avec la même résolution consum environ 12 Mo, ce que le Samsung Note 2 prend 24 Mo. Le périphérique Samsung est cependant beaucoup plus rapide, probablement parce que le GC est omis.

J’ai eu le même problème que toi. J’utilisais ACRA et il avalait le crash et ne montrait que cela dans le logcat.

L’erreur est revenue au serveur et j’ai pu déboguer correctement. Désactivez éventuellement ACRA lors du débogage et vous verrez l’erreur correcte.