2015-11-10 6 views
2

аварии находится нижеандроида: почему FragmentActivity.onDestroy называют фрагмент onCreateView

at com.activity.upgrade.VersionFragment.parse(VersionFragment.java:73) 
at com.activity.upgrade.VersionFragment.onCreateView(VersionFragment.java:57) 
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1120) 
at android.support.v4.app.FragmentManagerImpl.dispatchReallyStop(FragmentManager.java:1956) 
at android.support.v4.app.FragmentActivity.onReallyStop(FragmentActivity.java:790) 
at android.support.v4.app.FragmentActivity.doReallyStop(FragmentActivity.java:767) 
at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:314) 
at com.common.BaseActivity.onDestroy(BaseActivity.java:107) 
at android.app.Activity.performDestroy(Activity.java:5421) 
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1117) 
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3494) 

Странно, что фрагмент onCreatView не вызывается из деятельности OnCreate, но из OnDestroy. Этот случай случается при входе в приложение после того, как система или некоторые сторонние инструменты убивают приложение. Кто-нибудь встречал это раньше?

********** ********** UPDATE

Из исходного кода, кажется, связаны с состоянием Fragment. Его состояние - Fragment.INITIALIZING или Fragment.CREATED состояние, когда FragmentActivity в его onDestroy. Я думаю, что это должно быть в неправильном состоянии.

ответ

0

см here

StackTrace это нормально, проблема может быть в OnDestroy или onResume обратного вызова. Вы должны всегда использовать super.onResume или super.OnDestroy в методе onResume!

Демонстрационный пример приложения Google для вызова жизненного цикла также должен быть первым вызовом метода подкласса. enter image description here

+1

Да, я уже следовал правилу, называя super.xxx перед чем-либо, например onPause, onDestroy. Все еще встретил эту проблему :( – mianlaoshu

Смежные вопросы