最近一直忙著版本更新勾缭,記錄一下中間遇到的一些問題褒翰。
ExpandableStickyListHeadersListView這個開源庫主要是實現(xiàn)列表分組的,常見的需求用它還是不錯的占业,項目中也有用到這個控件傲须,一直沒有什么問題也榄,但是,這期需求測試在用華為nexus p6做測試的時候嘁捷,發(fā)現(xiàn)了一個奇怪的問題:
在列表快速滑動的時候造成,點擊返回鍵離開當(dāng)前界面,app會崩潰雄嚣,崩潰日志如下:
Attempt to invoke virtual method 'void android.view.View.dispatchWindowFocusChanged() on a null object (大致意思是用一個空的對象調(diào)用了dispatchWindowFocusChanged()方法)
起初以為是app邏輯問題晒屎,這樣的話應(yīng)該是必現(xiàn)的喘蟆,但是試了華為,oppo鼓鲁,魅族以及小米后蕴轨,都沒有出現(xiàn)這個問題。于是goole骇吭,但是也沒有搜到橙弱,懷疑是系統(tǒng)某個地方出現(xiàn)異常了...雖然沒有搜到解決辦法,但是也得解霸镎(不然沒法兒上線...)
中間也試了不少辦法棘脐,但是都沒用,最后想到龙致,既然是View對象調(diào)用方法的時候出現(xiàn)異常導(dǎo)致程序崩潰蛀缝,那我是不是可以復(fù)寫這個方法,捕捉異常來保證不崩潰目代?于是重寫方法:
@Override
public void dispatchWindowFocusChanged(boolean hasFocus) {
try {
super.dispatchWindowFocusChanged(hasFocus);
} catch (Exception e) {
e.printStackTrace();
}
}
再在華為nexux p6上測試屈梁,問題解決。