最近我的Galaxy Note 2升级到4.4.2版。我正在使用这款手机进行开发(使用ADT)并且生活很好,但发布此升级“暂停GC”错误即将开始,我无法解决。每次我的ADT工具LogCat中的UI屏幕更改状态都会出现。下面是错误的转储。
提前感谢您的帮助。
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)发起了这个问题。根据他们的三星bug,我现在已经将问题提交给了三星论坛。
答案 0 :(得分:5)
在我的Note 2(GT-N7100),Android 4.4.2上看到这个问题一段时间后,我想让我的上述评论成为正确答案。
按分配大小排序:
我使用webrtc跟踪Android相机的分配情况,可以清楚地看到,每次调用相机并在新活动中将视频渲染到GLSurfaceView时,剩余的垃圾超过2 MB ,这从未被GC收集过。
比较一下,这是华硕Memo Pad 2,Android 4.2.2上跟踪的相同分配:
按分配大小排序:
换句话说,在注2中,您可以在内存已满并且设备崩溃之前,开始大约20-30次视频实时视图。
换句话说:三星在去年更新了这个问题并且还没有修复它,它们也没有做出任何反应。三星是否想让我们购买新设备?看起来像那样。
-
以下是我在2014-12-11的原始评论:
确实会造成麻烦。它会导致设备占用更多内存 比需要和崩溃。我们正在开发一个包含许多图像的应用程序 视频,由于缺少GC,可以使Android到达 64MB限制(注2)和崩溃,而在其他设备内存 消耗量低得多,使用后内存总是释放。对于 例如,具有相同分辨率的华硕Memo Pad消耗大约 12MB,三星Note 2需要24MB。三星设备是 但速度要快得多,可能是因为省略了GC。
答案 1 :(得分:1)
我和你有同样的问题。我正在使用ACRA,它正在吞下崩溃,只在logcat中显示出来。
错误实际上使它回到了服务器,我能够正确调试。在调试时可能会禁用ACRA,您将看到正确的错误。