Пауза GC Ошибка после андроида 4.4.2 обновления

Недавно моя Galaxy Note 2 была обновлена ​​до версии 4.4.2. Я использую этот телефон для разработки (используя ADT), и жизнь была прекрасной, но после этого обновления появилась ошибка «Pause GC», и я не могу ее решить. Он появляется каждый раз, когда пользовательский экран изменяет статус в моем инструменте ADT LogCat. Ниже дамп ошибки.

Заранее спасибо за помощь.

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 

ОБНОВЛЕНИЕ. Я инициировал проблему на code.android.com ( http://code.google.com/p/android/issues/detail?id=71073 ). В соответствии с их ошибкой Samsung, поэтому я поднял вопрос на форуме Samsung сейчас.

Solutions Collecting From Web of "Пауза GC Ошибка после андроида 4.4.2 обновления"

Увидев эту проблему в течение некоторого времени на моей заметке 2 (GT-N7100), Android 4.4.2, я хотел бы сделать свой вышеприведенный комментарий правильным ответом.

Выделение на Samsung Galaxy Note 2

Сортировка по размеру распределения:

Сортировка по размеру размещения

Я использовал webrtc для отслеживания выделения, когда используется камера Android, и ясно видно, что каждый раз, когда вызывается камера, и видео отображается на GLSurfaceView в новом действии, остается больше 2 Мбайт мусора, что Никогда не собирался GC.

Чтобы сравнить, вот то же самое распределение, отслеживаемое на ASUS Memo Pad 2, Android 4.2.2:

Распределение отслеживается на Asus Memo Pad 2

Сортировка по размеру распределения:

Сортировка по размеру размещения

Другими словами, на заметке 2 вы можете начать просмотр видео в режиме реального времени примерно 20-30 раз, прежде чем память будет заполнена, и устройство выйдет из строя.

Другими словами: Samsung представила эту проблему с обновлением в прошлом году и еще не исправила ее, и они никак не реагируют. Samsung хочет заставить нас купить новое устройство? Похоже на это.

И вот мой оригинальный комментарий от 2014-12-11:

Это вызывает проблемы. Это заставляет устройство потреблять гораздо больше памяти, чем необходимо, и сбой. Мы разрабатываем приложение со многими изображениями и видеороликами, и из-за отсутствия GC можно заставить Android достичь предела 64 МБ (Примечание 2) и сбоя, тогда как на других устройствах потребление памяти намного ниже, и память всегда выдается после использования , Например, ASUS Memo Pad с тем же разрешением потребляет около 12 МБ, для чего Samsung Note 2 занимает 24 МБ. Устройство Samsung намного быстрее, хотя, вероятно, из-за отсутствия GC.

У меня была такая же проблема, как и вы. Я использовал ACRA, и он проглатывал крах и показывал это только в логарифме.

Ошибка фактически вернула сервер, и я смог отлаживать его правильно. Возможно, отключить ACRA при отладке, и вы увидите правильную ошибку.