您好,登錄后才能下訂單哦!
今天測(cè)試突然給我說(shuō)我寫(xiě)的XX界面一點(diǎn)app就crash了!
納尼,我肯定表示不服啊!怎么可能出現(xiàn)一點(diǎn)擊就崩潰的情況呢,明明自己的測(cè)試了的!
然后我又用自己的測(cè)試機(jī)試了下沒(méi)問(wèn)題(Version:5.0.2),然后又使用crash的測(cè)試手機(jī)(Version:4.4),乖乖,居然是4.4才會(huì)出現(xiàn)的情況?。?.4以下沒(méi)有驗(yàn)證哈!可能都會(huì)吧?。。。?/p>
log顯示:
W/System.err: java.lang.NoClassDefFoundError: android/os/PersistableBundle W/System.err: at java.lang.Class.getDeclaredMethods(Native Method) W/System.err: at java.lang.Class.getDeclaredMethods(Class.java:656) W/System.err: at de.greenrobot.event.SubscriberMethodFinder.findSubscriberMethods(SubscriberMethodFinder.java:75) W/System.err: at de.greenrobot.event.EventBus.register(EventBus.java:163) W/System.err: at de.greenrobot.event.EventBus.register(EventBus.java:133)
接著當(dāng)然就是google 了!
StackOverFlow
最終找到了出現(xiàn)這個(gè)error的原因:
@Override public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { super.onCreate(savedInstanceState, persistentState); } @Override public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { super.onSaveInstanceState(outState, outPersistentState); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); }
注意在寫(xiě)Activity的時(shí)候,如果使用了public 兩個(gè)Bundle參數(shù)的方法,那么在4.4的機(jī)器上就會(huì)出現(xiàn)crash的情況!
至于為撒就還沒(méi)有去細(xì)究,本質(zhì)上,兩個(gè)參數(shù)的其實(shí)還是走的一個(gè)參數(shù)的方法。。
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { onCreate(savedInstanceState); }
所以在寫(xiě)這些回調(diào)的時(shí)候不要馬虎大意了,記得是復(fù)寫(xiě)protected開(kāi)頭的?。。?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。