1

私の状況は次のようなものでした.HomeGUI.javaという名前のアプリのホームページがあり、 HomeGUI にボタンがあり、ボタンを押すと、インテントが表示され、次のアクティビティARTAAD_AR.javaにジャンプします.私のアプリは拡張現実アプリ 参考までに、カメラ (ARTAAD_AR.java 内) を使用してサーフィンをしていたとき、奇妙なことが起こりました... 15 秒間サーフィンするたびに、アクティビティが閉じて、私のホームページを見ると、このインシデントでは「残念ながら bla bla が停止しました」などのクラッシュ メッセージは表示されず、メッセージは表示されず、以前のアクティビティに自動的に強制的に戻されます。アドオン、ARTAAD_AR.java を最初のメイン アクティビティとして設定しようとしましたが、スマートフォンのホーム ランチャーを強制的に閉じて、通知なしで再び戻ります。

これは私の logcat です: http://pastebin.com/dvi7MBML これは私の AndroidManifest です: http://pastebin.com/Y5f46JJF

私のログキャットを見る場合は、行 4 と 5 を見てください。行 5 の開始は、私のアクティビティのプロセスが強制的に戻るか終了したためだと思われます...

私の HomeGUI.java と ARTAAD_AR.java を見る必要があるかどうか教えてください。

ありがとうございました。

4

3 に答える 3

0

同じ問題に直面しましたが、最小 SDK を 3 に、targetsdk バージョンを 4 にすることで解決しました。

ありがとう ..

于 2014-11-21T11:45:09.013 に答える
0

com/jwetherell/augmented_reality/ui/objects/PaintableObject.java で

メソッド getTextWidth() を変更してみてください。

private StaticLayout measure(TextPaint textPaint, String text, Integer wrapWidth) {
    int boundedWidth = Integer.MAX_VALUE;
    if (wrapWidth != null && wrapWidth > 0) {
        boundedWidth = wrapWidth;
    }
    StaticLayout layout = new StaticLayout(text, textPaint, boundedWidth, Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
    return layout;
}

private float getMaxLineWidth(StaticLayout layout) {
    float maxLine = 0.0f;
    int lineCount = layout.getLineCount();
    for (int i=0; i<lineCount; i++) {
        if (layout.getLineWidth(0) > maxLine) {
            maxLine = layout.getLineWidth(0);
        }
    }
    return maxLine;
}

public float getTextWidth(String text) {
    if (text == null) throw new NullPointerException();

    TextPaint textPaint = new TextPaint(paint);
    int widthWrap = 1000; // you may have to change this
    StaticLayout layout = measure(textPaint, text, widthWrap);
    return getMaxLineWidth(layout);
}

これは JNI の問題であり、これらは既知の JNI の問題に対する回避策であると考えています。私はコードをコンパイルしていないので、いくつかの間違いがあるかもしれませんが、あなたはその考えを理解します.

于 2013-05-29T23:29:10.510 に答える
0

[以前の回答を削除、完全に間違っています]。

マーカーを追加しすぎたか、android.graphics.Paint.native_measureTextで次のバグが発生したと思われます(JNI ラッパーでのメモリ リーク)

于 2013-05-29T12:49:25.333 に答える