話說都是血與淚,幸好發佈的灰度版本,但是也讓我查了倆天,一個bug在某些人手機上會出現,定位到SDK版本不同的時候,找到了一個低端機用的是4.3系統,成功的復現了。
結論是:**new JSONArray(null) 這句在不同的API上出現了問題,有人問,你sb啊,傳個空進去,我只能說不是我的鍋。。。
不管怎麼說用鮮血找到了這個bug.**
下面是結論:
API 19 一下的構造方法
public JSONArray(Collection copyFrom) {
this();
Collection<?> copyFromTyped = (Collection<?>) copyFrom;
values.addAll(copyFromTyped);
}
API 19及以上
public JSONArray(Collection copyFrom) {
this();
if (copyFrom != null) {
for (Iterator it = copyFrom.iterator(); it.hasNext();) {
put(JSONObject.wrap(it.next()));
}
}
}
以後面試就問人家:
”你知道API 18 和API 19上JSONArray的構造方法,有什麼不同嗎?”
”哎呀,有話好好說,你拿刀幹嘛。。。”