所以我已經在這里呆了 4 個小時。我在同一個模擬器上的 3 臺不同計算機上構建了這個項目。其他計算機運行此代碼完全沒有錯誤。在與提示 Calendar.getInstance() 調用的 UI 交互后不久,這臺計算機不斷地拋出此 StackOverflowError。這是創建此問題的代碼。僅在我的設備上調用此方法會產生上述錯誤。public static int getDays(Time t1, Time t2){ Calendar cal1 = new GregorianCalendar(t1.getYear().getYear(), t1.getMonth().getMonthNumber(), t1.getDay().getDayInMonthNumber()); Calendar cal2 = new GregorianCalendar(t2.getYear().getYear(), t2.getMonth().getMonthNumber(), t2.getDay().getDayInMonthNumber()); long startLong = cal1.getTimeInMillis(); long endLong = cal2.getTimeInMillis(); long timeBetween = endLong - startLong; // System.out.println(endLong + " - " + startLong + " = " + timeBetween + " (" + timeBetween/86400000 + " days)"); return (int)(timeBetween / 86400000);}
1 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
正如在您的堆棧跟蹤中所見,您SubActivity
正在實例化 anActivity
并且Activity
正在實例化 a SubActivity
。你需要修復這個無限乒乓球。
部分Activity
初始化是調用云6個更深層次的調用鏈(以Calendar
等),并最終就足以使棧溢出。
添加回答
舉報
0/150
提交
取消