2012-01-31 23 views
2
01-31 12:52:53.020: E/AndroidRuntime(10957): FATAL EXCEPTION: main 
01-31 12:52:53.020: E/AndroidRuntime(10957): java.lang.StackOverflowError 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.graphics.Paint.getTextRunAdvances(Paint.java:1711) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.TextLine.handleText(TextLine.java:749) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.TextLine.handleRun(TextLine.java:972) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.TextLine.measureRun(TextLine.java:416) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.TextLine.measure(TextLine.java:295) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.TextLine.metrics(TextLine.java:269) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.Layout.getLineExtent(Layout.java:942) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.Layout.draw(Layout.java:405) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.text.BoringLayout.draw(BoringLayout.java:400) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.TextView.onDraw(TextView.java:5038) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:10978) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:11083) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.AbsListView.draw(AbsListView.java:3398) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:11083) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.FrameLayout.draw(FrameLayout.java:450) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.ScrollView.draw(ScrollView.java:1524) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:10981) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:10981) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.widget.FrameLayout.draw(FrameLayout.java:450) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.View.draw(View.java:10981) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
01-31 12:52:53.020: E/AndroidRuntime(10957): at android.view.ViewGroup.drawChild(Vi 
+0

你可以提供一些關於你在做什麼的細節嗎?你現在並沒有真正問任何問題,堆棧跟蹤也不會告訴我們你想要做什麼。給我們一些背景。 – Herms 2012-01-31 19:02:48

+0

我正嘗試構建網格視圖(包含圖像和文本),並且相同的代碼在Android 3.0平板電腦上正常工作。但是,當我在android4.0平板電腦上運行此代碼時,代碼與上面的堆棧跟蹤崩潰。 – Bharanicharan 2012-01-31 19:19:48

+0

如果它是一個大而複雜的佈局,那麼4.0平板電腦中可能沒有足夠的內存。 – Krylez 2012-01-31 21:10:12

回答

4

這個堆棧非常類似於當你有太多嵌套佈局時得到的堆棧。我會運行layoutopt,看看你是否可以減少佈局層次結構,看看它是否修復它,至於框架差異,我不能說他們是否減少了這個限制,或者如果新的控件增加了他們的內部層次佈局, 。很難說...... happend當我試圖在兩個EditTexts使用TextWatchers到

https://developer.android.com/studio/tools/help/layoutopt.html

+0

感謝您的幫助!最後修復佈局中的層數並修復它! – Bharanicharan 2012-01-31 22:29:59

+0

哇!你是一個救星!這個錯誤讓我撓了腦袋好幾天。複雜的佈局是問題。一旦我簡化了我的佈局並擺脫了一些觀點 - 一切運作良好。謝謝! – AlexVPerl 2014-12-16 09:14:20

+0

起初我有點懷疑,因爲我刪除視圖,仍然得到相同的堆棧跟蹤,但在刪除一些視圖並優化其他佈局後,我在運行時設法減少了相當於171個視圖的渲染次數,並且問題消失。謝謝你的回答。而'Android Device Monitor'和'Hierarchy Viewer'確實是一個很好的幫助。 – 2016-04-25 15:59:03

2

此錯誤。

想法是如果一個EditText被改變了,另一個應該被設置爲「」,反之亦然。

但問題是我認爲它提出了一個循環,因爲設置另一個爲「」也是變化,這意味着第一個也應該設置爲「」等等等等......

相關問題