java no - Android致命信號11





play google (10)


我在使用Libgdx for android時也遇到了這個錯誤,並且我發現這個錯誤是由使用本機代碼的Box2d引起的,所以最好查看一下使用Box2d的代碼並查看是否有空指針。

在Android上開發的應用程序中,我不斷收到致命信號11錯誤。

我認為這是與我訪問內存的方式有關,但我無法弄清楚是什麼導致了它。

任何幫助都感激不盡!

這裡是LogCat:

05-02 23:47:17.618: D/dalvikvm(590): GC_FOR_ALLOC freed 68K, 4% free 6531K/6787K, paused 101ms
05-02 23:47:17.638: I/dalvikvm-heap(590): Grow heap (frag case) to 7.619MB for 1228816-byte allocation
05-02 23:47:17.738: D/dalvikvm(590): GC_CONCURRENT freed 1K, 4% free 7730K/8007K, paused 5ms+14ms
05-02 23:47:17.878: D/dalvikvm(590): GC_FOR_ALLOC freed <1K, 4% free 7730K/8007K, paused 37ms
05-02 23:47:17.888: I/dalvikvm-heap(590): Grow heap (frag case) to 8.790MB for 1228816-byte allocation
05-02 23:47:17.998: D/dalvikvm(590): GC_CONCURRENT freed <1K, 4% free 8930K/9223K, paused 4ms+4ms
05-02 23:47:17.998: A/libc(590): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)



在我的情況下,當嘗試建立藍牙連接時, BluetoothSocket為空




在使用Canvas類時遇到同樣的致命錯誤。
我的代碼看起來像這樣。 以下代碼將初始化Arc並在畫布上繪製它。

private RectF r1 = null;
private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

public Arc(Context ctx) {
    super(ctx);
    mPaint.setColor(0xFFFF0000);
    r1 = new RectF(200, 200, 400, 400);
}

protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   canvas.drawArc(r1, 0, 90, true, mPaint);
}

發生這個問題是因為我的RectF實例沒有初始化,導致了NullPointerException和致命錯誤。




我有一個與android.media.MediaRecorder實例相同的問題。

代碼訪問#getMaxAmplitude()實例上的#reset #reset()#getMaxAmplitude()之後的#reset()已被調用。




我試圖在另一個類中調用一個未初始化的Canvas,所以當它試圖獲取它的高度或寬度時,它會崩潰。




我遇到了同樣的問題,並在早上睡了一覺並喝了一杯咖啡後發現,我已經足夠愚蠢地用未初始化的位圖支持畫布。 看起來,如果不是所有的畫布繪製代碼都是本地代碼,並且未初始化的對象的傳遞在任何地方都沒有檢測到。

具有空地址(0x00000000)的SIGSEGV意味著您的應用程序已經取消引用了空指針,因此請注意您傳遞空指針的位置(例如,對未初始化的對象實例的空引用)通過本機代碼,並沒有正確檢查這個錯誤。




今天早上我有這個相同的問題,並且能夠追踪它,意外地將800像素寬的圖像保存在drawable-mdpi文件夾中。 當我意識到發生了什麼事後,我對它進行了一次修整。 我試圖壓縮它很難看它是否與文件大小有關,而不是。 然後我試著在650像素寬的地方再次保存它,並且它在那個文件夾下工作。 因此,我猜想每個文件夾都有一個突破點。 然後,我將800 p寬的圖像放入預期的hdpi文件夾中,並在mdpi中放置480 p寬,並將其固定。




當我在android上製作一個cocos2d-x應用程序時,我遇到了這個問題。 問題在於我的圖層是CCLayer:

 CCLayer::init()

但在頭文件中我有:

 class HelloWorld : public cocos2d::CCLayerColor

我將CCLayerColor改為CCLayer,我的應用程序工作




在我的情況下,它是一個onDraw事件內的空指針異常,它會阻止在畫布上完成繪製。 我認為是一個常見的錯誤消息,當繪製問題ocurr。




簡單易用的方法,只需調用hideKeyboardFrom(YourActivity.this); 隱藏鍵盤

/**
 * This method is used to hide keyboard
 * @param activity
 */
public static void hideKeyboardFrom(Activity activity) {
    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}






java android crash signals