diff --git a/arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java b/arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java index 20aef0066f4ee4c4f85f0bba14b9324a43a076dd..34bb86ae8a44e66345a048df2ecc52e794161e5e 100644 --- a/arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java +++ b/arms/src/main/java/com/jess/arms/integration/FragmentLifecycle.java @@ -21,19 +21,15 @@ import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.view.View; - import com.jess.arms.base.delegate.FragmentDelegate; import com.jess.arms.base.delegate.FragmentDelegateImpl; import com.jess.arms.base.delegate.IFragment; import com.jess.arms.integration.cache.Cache; import com.jess.arms.integration.cache.IntelligentCache; import com.jess.arms.utils.Preconditions; - import javax.inject.Inject; import javax.inject.Singleton; -import timber.log.Timber; - /** * ================================================ * {@link FragmentManager.FragmentLifecycleCallbacks} 默认实现类 @@ -53,7 +49,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentAttached(FragmentManager fm, Fragment f, Context context) { - Timber.w(f.toString() + " - onFragmentAttached"); if (f instanceof IFragment) { FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate == null || !fragmentDelegate.isAdded()) { @@ -69,7 +64,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) { - Timber.w(f.toString() + " - onFragmentCreated"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onCreate(savedInstanceState); @@ -78,7 +72,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentViewCreated(FragmentManager fm, Fragment f, View v, Bundle savedInstanceState) { - Timber.w(f.toString() + " - onFragmentViewCreated"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onCreateView(v, savedInstanceState); @@ -87,7 +80,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentActivityCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) { - Timber.w(f.toString() + " - onFragmentActivityCreated"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onActivityCreate(savedInstanceState); @@ -96,7 +88,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentStarted(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentStarted"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onStart(); @@ -105,7 +96,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentResumed(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentResumed"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onResume(); @@ -114,7 +104,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentPaused(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentPaused"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onPause(); @@ -123,7 +112,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentStopped(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentStopped"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onStop(); @@ -132,7 +120,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentSaveInstanceState(FragmentManager fm, Fragment f, Bundle outState) { - Timber.w(f.toString() + " - onFragmentSaveInstanceState"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onSaveInstanceState(outState); @@ -141,7 +128,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentViewDestroyed(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentViewDestroyed"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onDestroyView(); @@ -150,7 +136,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentDestroyed(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentDestroyed"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onDestroy(); @@ -159,7 +144,6 @@ public class FragmentLifecycle extends FragmentManager.FragmentLifecycleCallback @Override public void onFragmentDetached(FragmentManager fm, Fragment f) { - Timber.w(f.toString() + " - onFragmentDetached"); FragmentDelegate fragmentDelegate = fetchFragmentDelegate(f); if (fragmentDelegate != null) { fragmentDelegate.onDetach(); diff --git a/demo/src/main/java/me/jessyan/mvparms/demo/app/ActivityLifecycleCallbacksImpl.java b/demo/src/main/java/me/jessyan/mvparms/demo/app/ActivityLifecycleCallbacksImpl.java index 9fcabf950600e5b12c6c6215c36b45bcfc34f0f2..b68464e6870fe3201f8644695faa31c3af2c1b9c 100644 --- a/demo/src/main/java/me/jessyan/mvparms/demo/app/ActivityLifecycleCallbacksImpl.java +++ b/demo/src/main/java/me/jessyan/mvparms/demo/app/ActivityLifecycleCallbacksImpl.java @@ -39,12 +39,12 @@ public class ActivityLifecycleCallbacksImpl implements Application.ActivityLifec @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { - Timber.w(activity + " - onActivityCreated"); + Timber.i(activity + " - onActivityCreated"); } @Override public void onActivityStarted(Activity activity) { - Timber.w(activity + " - onActivityStarted"); + Timber.i(activity + " - onActivityStarted"); if (!activity.getIntent().getBooleanExtra("isInitToolbar", false)) { //由于加强框架的兼容性,故将 setContentView 放到 onActivityCreated 之后,onActivityStarted 之前执行 //而 findViewById 必须在 Activity setContentView() 后才有效,所以将以下代码从之前的 onActivityCreated 中移动到 onActivityStarted 中执行 @@ -74,27 +74,27 @@ public class ActivityLifecycleCallbacksImpl implements Application.ActivityLifec @Override public void onActivityResumed(Activity activity) { - Timber.w(activity + " - onActivityResumed"); + Timber.i(activity + " - onActivityResumed"); } @Override public void onActivityPaused(Activity activity) { - Timber.w(activity + " - onActivityPaused"); + Timber.i(activity + " - onActivityPaused"); } @Override public void onActivityStopped(Activity activity) { - Timber.w(activity + " - onActivityStopped"); + Timber.i(activity + " - onActivityStopped"); } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { - Timber.w(activity + " - onActivitySaveInstanceState"); + Timber.i(activity + " - onActivitySaveInstanceState"); } @Override public void onActivityDestroyed(Activity activity) { - Timber.w(activity + " - onActivityDestroyed"); + Timber.i(activity + " - onActivityDestroyed"); //横竖屏切换或配置改变时, Activity 会被重新创建实例, 但 Bundle 中的基础数据会被保存下来,移除该数据是为了保证重新创建的实例可以正常工作 activity.getIntent().removeExtra("isInitToolbar"); } diff --git a/demo/src/main/java/me/jessyan/mvparms/demo/app/FragmentLifecycleCallbacksImpl.java b/demo/src/main/java/me/jessyan/mvparms/demo/app/FragmentLifecycleCallbacksImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..baaae34b711c1eca7ca2ee20a361bcc95e54e6e3 --- /dev/null +++ b/demo/src/main/java/me/jessyan/mvparms/demo/app/FragmentLifecycleCallbacksImpl.java @@ -0,0 +1,93 @@ +package me.jessyan.mvparms.demo.app; + +import android.content.Context; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.view.View; +import com.jess.arms.integration.cache.IntelligentCache; +import com.jess.arms.utils.ArmsUtils; +import com.squareup.leakcanary.RefWatcher; +import timber.log.Timber; + +/** + * ================================================ + * 展示 {@link FragmentManager.FragmentLifecycleCallbacks} 的用法 + *
+ * Created by JessYan on 23/08/2018 17:14
+ * Contact me
+ * Follow me
+ * ================================================
+ */
+public class FragmentLifecycleCallbacksImpl extends FragmentManager.FragmentLifecycleCallbacks{
+
+ @Override
+ public void onFragmentAttached(FragmentManager fm, Fragment f, Context context) {
+ Timber.i(f.toString() + " - onFragmentAttached");
+ }
+
+ @Override
+ public void onFragmentCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) {
+ Timber.i(f.toString() + " - onFragmentCreated");
+ // 在配置变化的时候将这个 Fragment 保存下来,在 Activity 由于配置变化重建时重复利用已经创建的 Fragment。
+ // https://developer.android.com/reference/android/app/Fragment.html?hl=zh-cn#setRetainInstance(boolean)
+ // 如果在 XML 中使用