2017-02-24 154 views
2

我一直在經歷着一場崩潰在我的反應原生Android應用程序與以下調用堆棧崩潰的反應,原生Android應用

02-24 12:38:35.799 2878-2878/com.myapp E/AndroidRuntime: FATAL EXCEPTION: main 
                  Process: com.myapp, PID: 2878 
                  java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.unFocus(android.view.View)' on a null object reference 
                   at android.view.ViewGroup.removeViewsInternal(ViewGroup.java:4300) 
                   at android.view.ViewGroup.removeViewsInLayout(ViewGroup.java:4156) 
                   at com.facebook.react.views.view.ReactViewGroup.updateSubviewClipStatus(ReactViewGroup.java:307) 
                   at com.facebook.react.views.view.ReactViewGroup.updateClippingToRect(ReactViewGroup.java:283) 
                   at com.facebook.react.views.view.ReactViewGroup.updateClippingRect(ReactViewGroup.java:276) 
                   at com.facebook.react.views.scroll.ReactScrollView.updateClippingRect(ReactScrollView.java:220) 
                   at com.facebook.react.views.scroll.ReactScrollView.onScrollChanged(ReactScrollView.java:152) 
                   at android.widget.ScrollView.onOverScrolled(ScrollView.java:801) 
                   at com.facebook.react.views.scroll.ReactScrollView.onOverScrolled(ReactScrollView.java:341) 
                   at android.view.View.overScrollBy(View.java:18607) 
                   at android.widget.ScrollView.computeScroll(ScrollView.java:1293) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14154) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.View.draw(View.java:14959) 
                   at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
                   at android.view.View.draw(View.java:15234) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14167) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) 
                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) 
                   at android.view.View.updateDisplayListIfDirty(View.java:14127) 
                   at android.view.View.getDisplayList(View.java:14189) 
                   at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273) 
                   at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279 
02-24 12:38:43.283 2878-2878/com.myapp I/Process: Sending signal. PID: 2878 SIG: 9 

的中止是間歇性的,沒有一套重現步驟。如果其他人在Android上遇到類似的崩潰,請分享,如果您有更多信息。

謝謝!

+0

日誌意味着什麼沒有代碼,把它比作。請參閱[mcve] –

+0

debug js code no simulator它在控制檯中提供完整的消息 –

+0

@NickCardoso就像我說過的,我不確定中止在哪裏發生。它正在間歇性地發生,我不知道要分享代碼的哪一部分。 –

回答

0

這是一個已知問題的ListView:

設置ListView的removeClippedSubviewsfalse可以防止死機

https://github.com/facebook/react-native/issues/11825

+0

我會試一試並檢查是否繼續看到中止。我檢查了你提到的github問題,並且調用堆棧與我的相比看起來有點不同。在那裏,用戶遇到IndexOutOfBounds異常,我正在觀察NullPointerException,但它仍然可能是相關的。謝謝。 –