java.lang.NoClassDefFoundError: android/os/PersistableBundle

weixin_33782386發表於2016-12-13

多引數的onCreateonSaveInstanceState在Android4.4.4崩潰問題。

通過bug查詢描述問題應該是在onCreate中使用兩個引數的方法。

@Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
    }

檢視原生程式碼並沒有使用兩個引數的onCreate的函式。

為了防止Activity回收我們通常會在 OnsaveInstanceState 中做資料快取

@Override
    public void onSaveInstanceState(Bundle outState) {
        presenter.onSaveInstanceState(outState, uuid);
        super.onSaveInstanceState(outState);
    }

發現也有一個過載函式,是兩個引數的

 @Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
    }

替換成一個引數的函式後問題解決。

相關文章