gpt4 book ai didi

android - android 4.4.2 升级后暂停 GC 错误

转载 作者:IT王子 更新时间:2023-10-28 23:50:59 25 4
gpt4 key购买 nike

最近我的 Galaxy Note 2 升级到了 4.4.2 版本。我正在使用这款手机进行开发(使用 ADT),生活还不错,但发布此升级后“Pause 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) 上发起了该问题。根据他们的三星错误,所以我现在已经向三星论坛提出了这个问题。

最佳答案

在我的 Note 2 (GT-N7100),Android 4.4.2 上看到这个问题一段时间后,我想让我的上述评论成为一个正确的答案。

Allocation tracked on Samsung Galaxy Note 2

按分配大小排序:

Sorted by allocation size

我在使用Android摄像头的时候使用webrtc来跟踪分配,可以清楚的看到每次调用摄像头,在新的Activity中将视频渲染到GLSurfaceView上,都会留下2MB多的垃圾, GC 永远不会收集到。

为了比较,以下是在 ASUS Memo Pad 2、Android 4.2.2 上跟踪的相同分配:

Allocation tracked on Asus Memo Pad 2

按分配大小排序:

Sorted by allocation size

换句话说,在 Note 2 上,您可以在内存已满和设备崩溃之前启动视频实时取景大约 20-30 次。

换句话说:三星去年通过更新引入了这个问题,但尚未修复它,他们也没有做出任何反应。三星是否想让我们购买新设备?好像是这样的。

--

这是我截至 2014 年 12 月 11 日的原始评论:

It does cause trouble. It causes the device to take much more memory than needed and crash. We are developing an app with many images and videos, and due to the missing GC it is possible to make Android reach the 64MB limit (Note 2) and crash, whereas on other devices memory consumption is much lower and memory is always released after use. For example, an ASUS Memo Pad with the same resolution consumes about 12MB, for what the Samsung Note 2 takes 24MB. The Samsung device is much faster, though, probably because of the GC being omitted.

关于android - android 4.4.2 升级后暂停 GC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23637835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com