- 歷史原因,項目中既有com.alibaba.fastjson.JSONObject又有org.json.JSONObject。把com.alibaba.fastjson.JSONObject強制轉換成org.json.JSONObject導致錯誤。
- 代碼混淆:有多少次花大把的時間調試bug最後發現是實體類被混淆了導致的。實體類混淆創造了在同一個地方跌倒的最大次數的記錄。
4.x系統機型上兼容問題
-
ListView中類轉換異常,錯誤日誌。
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams at android.widget.ListView.setupChild(ListView.java:1901)
導致錯誤的代碼是按下面第一行寫法寫的,第三行寫法是正確的。
view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); view.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT,AbsListView.LayoutParams.MATCH_PARENT));
-
這是因爲在4.x系統上setupChild源碼是這樣寫的
AbsListView.LayoutParams p = (AbsListView.LayoutParams) child.getLayoutParams(); if (p == null) { p = (AbsListView.LayoutParams) generateDefaultLayoutParams(); }
所以 導致類轉換異常。