47

現在、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)

このエラーについて Google で少し検索したところ、デバイスのメモリに関連していることがわかりました。いくつかの解決策を見つけましたが、PhoneGap でそれらを実装する方法を理解するほどではありませんでした。

ここで誰かが以前にこのエラーに遭遇したことがありますか? 問題を解決するにはどうすればよいですか?

ありがとうございました :)

4

9 に答える 9

44

NDK を介してネイティブ C/C++ コードを使用するプラグインを作成した (または使用している) 場合、そのネイティブ コードにバグがある可能性があります。

それ以外の場合、これは、テストしているデバイスまたはエミュレーターのファームウェアのバグです。

エミュレーター、元の ROM を搭載した Nexus デバイス、またはさまざまなメーカーのさまざまなデバイスでこれを再現できる場合、おそらく Android 自体のバグです。その場合は、エラーを再現できるサンプル プロジェクトを作成し、スタック トレース全体とともに、Android OS イシュー トラッカーであるhttp://b.android.comに投稿してください。

これが 1 つのデバイスまたは 1 つのサードパーティ製 ROM でのみ発生している場合は、より具体的なバグである可能性があります。デバイスの製造元または ROM の発行元に症状を報告することをお勧めします。

于 2012-12-24T16:06:48.320 に答える
17

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"

これが他の誰かに役立つことを願っています...

于 2015-01-06T03:53:44.113 に答える
11

私が取り組んでいたプロジェクトで同じ問題が発生しました。アクティビティをインスタンス化しようとしているときに、大量の画像とサウンドを読み込んでいて、アプリのメモリ不足を引き起こしていることが判明しました。あなたのプログラムはメモリを大量に消費するアセットを使用していますか? それらのサイズをまったく小さくすることはできますか?

私の場合、LogCat には行の直前に緑のスタック トレース (INFO レベルのログ) がありFatal signal 11 (SIGSEGV)ました。スタック トレースは、アプリが起動中OutOfMemoryExceptionのアセットを読み込んでいるときに発生しました。Activityそこで、ドローアブルを取り出し (私のプログラムにはたくさんのドローアブルがありました)、それらを編集してファイル サイズを小さくし、もう一度やり直しました。バグは消えました。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)
于 2013-01-15T11:40:30.517 に答える
5

私の場合、OutofMemory の問題を確認してください。Samsung S3 でこのエラーが発生し、起動アクティビティで多くのイメージを管理するためのものでした。EditText または入力がまったくないため、解決策なしで多くの応答をグーグルで検索しました(実際、エラーがスパン可能な文字列の長さゼロを表示する理由がわかりません.....そして OutOfMemory のような別のものではありません、など)、解像度順に並べられた画像が間違ったフォルダーにあり、サイズが大きすぎて、空にヒープが上がっていることに気付きました。幸運を

于 2013-10-30T00:39:56.363 に答える
5

次の Google Plus の投稿で問題が解決しました。

基本的に、問題は 9 つのパッチ ファイルの光学境界に関連しています。私の場合、Holo テーマからコピーした新しい 9 パッチを使用していました。リンクで説明されているように、この新しいパッチは Android の古いバージョンでは無効です

于 2014-03-26T21:47:48.320 に答える
3

assets ディレクトリの下にすべてのリソース イメージがあることを確認します。この問題が発生し、画像の 1 つが欠落していることが判明しました。画像を assets ディレクトリに戻すと、すべて問題ありません。

于 2013-04-11T06:55:15.603 に答える
1

以下は、webviewのエラーを取り除くために私が働いた:

webView.freeMemory();

また

webView.clearCache(true);

2 番目のオプションは、アプリの速度を低下させます。

于 2016-06-13T15:30:23.307 に答える
1

これを使用してください... options.headers = { "接続":"閉じる" };

于 2014-06-06T09:38:11.250 に答える
0

私にとって問題はクロムのウェブビューにあります。Chrome を無効にし、Android WebView を有効にします。それは私にとってはうまくいきます。

于 2019-12-26T05:16:16.723 に答える