簡體   English   中英

0x00000000 處的致命信號 11(SIGSEGV)(代碼 = 1) - PhoneGap

[英]Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1) - PhoneGap

我現在使用 PhoneGap 開發 Android 應用程序。 最近,當我嘗試在 HTML 頁面之間切換時,應用程序關閉,並且在 LogCat 中出現以下錯誤:

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

我在谷歌上搜索了一下這個錯誤,我了解到它與設備的內存有關。 我找到了一些解決方案,但並沒有讓我意識到如何在 PhoneGap 中實現它們。

這里有人遇到過這個錯誤嗎? 我能做些什么來解決問題?

謝謝 :)

如果您已經編寫(或正在使用)一個插件,而該插件又通過 NDK 使用本機 C/C++ 代碼,這可能表明該本機代碼中存在錯誤。

否則,這是您正在測試的設備或模擬器的固件中的錯誤。

如果您可以在模擬器、帶有原始 ROM 的 Nexus 設備或來自不同制造商的各種設備上重現這一點,那么這可能是 Android 本身的錯誤。 在這種情況下,請創建一個可以重現錯誤的示例項目,並將其與整個堆棧跟蹤一起發布到http://b.android.com (Android 操作系統問題跟蹤器)。

如果您僅在一台設備或一個第三方 ROM 上遇到此問題,這可能是一個更具體的錯誤 - 最好的辦法是聯系設備制造商或 ROM 發行商並了解您的症狀。

我在 xhdpi Nexus 7 上遇到了類似的錯誤,但在我的舊手機上一切正常。 我的問題發生在更新帶有許多小按鈕的大型 GridView 時。

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

我不認為這是您的問題,因為您的 PC 是 0,而我的 PC 是 0xbe8a8000,但它很容易嘗試並且解決了我的問題,因此我將發布它,以防其他人來這里尋找 SEGV 解決方案。
https://github.com/MasDennis/Rajawali/issues/313上有一個關於類似問題的討論,有人提到他們有同樣的問題,關閉硬件加速為他們解決了這個問題。 很容易嘗試,它解決了我的問題。
在 Android 清單應用程序中添加:

android:hardwareAccelerated="false"

希望這對其他人有幫助...

我剛剛在我正在從事的項目中遇到了同樣的問題。 事實證明,我正在加載大量圖像和聲音,並導致應用程序在嘗試實例化 Activity 時內存不足。 您的程序是否使用了大量內存密集型資產? 你能減少它們的尺寸嗎?

就我而言,LogCat 在Fatal signal 11 (SIGSEGV)行之前有一個綠色的堆棧跟蹤(INFO 級日志記錄)。 當應用程序為我正在啟動的Activity加載資產時,堆棧跟蹤是OutOfMemoryException 所以我拉起我的可繪制對象(我的程序有很多),編輯它們以減小它們的文件大小,然后再試一次。 錯誤消失了。 您可以查看您的 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)

在我的情況下檢查 OutofMemory 問題我在三星 S3 上遇到此錯誤,並且用於管理啟動活動中的大量圖像。 我在沒有解決方案的情況下搜索了很多回復,因為我根本沒有 EditText 或輸入(實際上,我不知道為什么錯誤顯示可跨越字符串零長度......而不是像 OutOfMemory 這樣的另一件事等),然后我意識到按分辨率排序的圖像在錯誤的文件夾中並且尺寸過大,並且堆在天空中。 祝你好運

以下 Google Plus 帖子解決了我的問題:

基本上問題與 9 個補丁文件中的光學邊界有關。 就我而言,我使用的是從 Holo 主題復制的較新的 9patches。 鏈接中所述,此新補丁在舊版本的 android 中無效

確保您擁有資產目錄下的所有資源圖像。 我遇到了這個問題,結果我的一張圖片丟失了。 一旦我將圖像放回資產目錄下,一切都很好。

使用這個... options.headers = { "Connection":"close" };

以下對我來說擺脫了 webview 中的錯誤:

webView.freeMemory();

要么

webView.clearCache(true);

第二個選項會減慢您的應用程序的速度。

對我來說,問題出在 chrome webview 中。 我禁用了 chrome 並啟用了 Android webview。 這對我來說可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM