致命的信号11(SIGSEGV)在0x00000000(代码= 1) – PhoneGap

我现在用PhoneGap开发Android应用程序。 最近,当我尝试在HTML页面之间切换时,应用程序closures,并在LogCat中出现以下错误:

12-24 15:43:39.237: A/libc(23631): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 23631 (.example.app) 

我在Google上search了一下这个错误,我知道它和设备的内存有关。 我find了一些解决scheme,但没有那么多,我意识到如何在PhoneGap中实现它们。

有没有人在这里遇到过这个错误? 我能做些什么来解决这个问题?

谢谢 :)

如果您已经编写了(或正在使用)一个插件,并通过NDK使用本机C / C ++代码,则这可能表示该本机代码中存在一个错误。

否则,这是您正在testing的设备或仿真器的固件中的错误。

如果您可以在模拟器,Nexus设备上使用原始ROM,或在不同厂商的各种设备上进行复制,则可能是Android本身的错误。 在这种情况下,请创build一个可重现错误的示例项目,并将其与整个堆栈跟踪一起发布到Android操作系统问题跟踪器http://b.android.com

如果您只在一台设备或一个第三方ROM上遇到此问题,则可能是一个更具体的错误 – 您最好的办法是联系设备制造商或ROM出版商。

我在xhdpi Nexus 7上遇到了类似的错误,但在我的旧手机上工作正常。 我的问题发生在用很多小button更新一个大的GridView时。

 A/libc(7410): Fatal signal 11 (SIGSEGV) at 0xbe8a8000 (code=1), thread 7410 

我不认为这是你的问题,因为你的电脑是0,我的是在0xbe8a8000,但它很容易尝试,它解决了我的问题,所以我会张贴,以防其他人来这里寻找SEGV解决scheme。
有一个关于https://github.com/MasDennis/Rajawali/issues/313的讨论关于类似的问题,有人提到他们有同样的问题,closures硬件加速固定它们。; 这很容易尝试,它解决了我的问题。
在Android清单应用程序中添加:

 android:hardwareAccelerated="false" 

希望这可以帮助别人…

我刚刚在一个项目上遇到同样的问题。 事实certificate,我正在加载大量的图像和声音,并导致应用程序在尝试实例化Activity时耗尽内存。 你的程序是否使用了大量的内存密集型资产? 你可以减less他们的大小?

在我的情况下,LogCat在紧接Fatal signal 11 (SIGSEGV)行之前有一个绿色的堆栈跟踪(INFO级别的日志logging)。 堆栈跟踪是一个OutOfMemoryException而应用程序正在加载我正在启动的Activity资产。 所以我拉起我的drawable(我的程序有很多),编辑它们来减less它们的文件大小,然后再试一次。 错误消失了。 你可以看到你的LogCat输出是否与我的一样,看看你是否有类似的问题:

 01-15 05:20:40.462: E/dalvikvm-heap(4513): Out of memory on a 3145744-byte allocation. 01-15 05:20:40.462: I/dalvikvm(4513): "main" prio=5 tid=1 RUNNABLE 01-15 05:20:40.462: I/dalvikvm(4513): | group="main" sCount=0 dsCount=0 obj=0x4158b6a0 self=0x41001a60 01-15 05:20:40.462: I/dalvikvm(4513): | sysTid=4513 nice=0 sched=0/0 cgrp=apps handle=1074673744 01-15 05:20:40.462: I/dalvikvm(4513): | schedstat=( 0 0 0 ) utm=41 stm=20 core=1 01-15 05:20:40.462: I/dalvikvm(4513): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 01-15 05:20:40.462: I/dalvikvm(4513): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:592) 01-15 05:20:40.462: I/dalvikvm(4513): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:445) 01-15 05:20:40.462: I/dalvikvm(4513): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781) 01-15 05:20:40.462: I/dalvikvm(4513): at android.content.res.Resources.loadDrawable(Resources.java:1963) 01-15 05:20:40.462: I/dalvikvm(4513): at android.content.res.Resources.getDrawable(Resources.java:672) 01-15 05:20:40.462: I/dalvikvm(4513): at com.kbi.speeddraw.lite.game.drawables.character.ExplodingCharacterDrawable.<init>(ExplodingCharacterDrawable.java:27) <!-- snip --> 01-15 05:20:40.462: I/dalvikvm(4513): at com.kbi.gameengine.api.gameactivity.GameActivity.onCreate(GameActivity.java:80) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.Activity.performCreate(Activity.java:5048) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2052) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.ActivityThread.access$700(ActivityThread.java:139) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224) 01-15 05:20:40.472: I/dalvikvm(4513): at android.os.Handler.dispatchMessage(Handler.java:99) 01-15 05:20:40.472: I/dalvikvm(4513): at android.os.Looper.loop(Looper.java:137) 01-15 05:20:40.472: I/dalvikvm(4513): at android.app.ActivityThread.main(ActivityThread.java:4918) 01-15 05:20:40.472: I/dalvikvm(4513): at java.lang.reflect.Method.invokeNative(Native Method) 01-15 05:20:40.472: I/dalvikvm(4513): at java.lang.reflect.Method.invoke(Method.java:511) 01-15 05:20:40.472: I/dalvikvm(4513): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) 01-15 05:20:40.472: I/dalvikvm(4513): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) 01-15 05:20:40.472: I/dalvikvm(4513): at dalvik.system.NativeStart.main(Native Method) 01-15 05:20:40.472: A/libc(4513): Fatal signal 11 (SIGSEGV) at 0x00000be0 (code=1), thread 4513 (.speeddraw.lite) 01-15 05:20:40.472: A/libc(4513): Fatal signal 11 (SIGSEGV) at 0x00180500 (code=1), thread 4527 (.speeddraw.lite) 

以下谷歌加上后我解决了我的问题:

基本上这个问题与9个补丁文件中的光学边界有关。 在我的情况下,我使用从Holo主题复制的新的9patches。 这个新的补丁在旧版本的android中是无效的,如链接中所解释的

确保您拥有资产目录下的所有资源图片。 我有这个问题,事实certificate,我的一个图像是失踪。 一旦我把图像放回资产目录下,一切都很好。

检查OutofMemory问题在我的情况下,我得到了三星S3这个错误,并在启动活动pipe理大量的图像。 我没有一个解决scheme,因为我没有一个EditText或一个input(实际上,我不知道为什么错误显示spannablestring零长度 …..而不是另一个像OutOfMemory等等),然后我意识到,由决议命令的图像是在错误的文件夹和超大,堆在天空。 祝你好运

使用这个… options.headers = {“Connection”:“close”};

下面的工作是为了摆脱webview中的错误:

 webView.freeMemory(); 

要么

 webView.clearCache(true); 

第二个选项会减慢你的应用程序。