FragmentÊÇAndroidÖеÄÖØÒª×é¼þ£¬ÔÚAndroid 3.0µÄʱºòÌí¼Ó½øÀ´¡£
¹ØÓÚFragmentµÄÉúÃüÖÜÆÚ£¬ÎÒÏàÐÅÁ˽â¹ýµÄ¿ª·¢ÈËÔ±¶¼Ó¦¸Ã°ÑÒÔÏ·½·¨Íѿڶø³ö£ºonAttach, onCreate, onCreateView, onViewCreated, onActivityCreated, onStart, onResume, onPause, onStop, onDestroyView, onDestroy, onDetach.
µ±FragmentÒÔ¾²Ì¬µÄ·½Ê½£¬¼´Í¨¹ýÔÚ²¼¾ÖÎļþÖÐÒÔÆäËü¿Ø¼þµÄ·½Ê½ÉèÖÃʱ£¬ËüµÄÉúÃüÖÜÆÚËæËùÔÚActivityµÄÉúÃüÖÜÆÚ¶ø·¢Éú±ä»¯¡£´ËʱÆäÉúÃüÖÜÆÚµÄ·½·¨µ÷Óùý³ÌÊÇÕâÑùµÄ£º
1£¬µ±Ê×´Îչʾ²¼¾ÖÒ³ÃæÊ±£¬ÆäÉúÃüÖÜÆÚ·½·¨µ÷ÓõÄ˳ÐòÊÇ£º

2£¬¶øµ±¹Ø±ÕÊÖ»úÆÁÄ»»òÕßÊÖ»úÆÁÄ»±ä°µÊ±£¬ÆäÆäÉúÃüÖÜÆÚ·½·¨µ÷ÓõÄ˳ÐòÊÇ£º

3£¬µ±ÔٴζÔÊÖ»úÆÁÄ»½âËø»òÕßÊÖ»úÆÁÄ»±äÁÁʱ£¬ÆäÉúÃüÖÜÆÚ·½·¨µ÷ÓõÄ˳ÐòÊÇ£º

4£¬¶øµ±¶Ôµ±Ç°FragmentËùÔÚÆÁÄ»°´·µ»Ø¼üʱ£¬ÆäÉúÃüÖÜÆÚ·½·¨µ÷ÓõÄ˳ÐòÊÇ£º
1 01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onPause
2 01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onStop
3 01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onDestroyView
4 01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onDestroy
5 01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onDetach |
µ«Êǵ±Ê¹ÓÃFragmentManager¶¯Ì¬µÄ¹ÜÀíFragment²¢ÇÒÉæ¼°µ½ÊÇ·ñaddToBackStackʱ£¬ÆäÉúÃüÖÜÆÚµÄÕ¹ÏÖ¾ÍÂÔ΢ÏÔµÃÓÐЩ¸´ÔÓÁË¡£µ«ÊÇ»¹Ã»Óи´ÔÓµ½ÎÞ·¨Àí½â¡£
ºÃ£¬ÏÂÃæ£¬ÎÒÃǾÍ̽¾¿Ò»ÏÂÕâЩÎÊÌâ¡£
Ê×ÏÈ£¬ÎÒÃÇÖØÐ´ÁËÁ½¸öFragment£¬Ö÷ÒªÊÇÖØÐ´ÁËËüÃǵÄÉúÃüÖÜÆÚ·½·¨£¬Í¨¹ýÔÚÆäÉúÃüÖÜÆÚ·½·¨ÖдòÓ¡³öLogµÄ·½Ê½À´ÏÔʾÆä·½·¨µÄµ÷Óá£
Á½¸öÀà·Ö±ðÊÇ£º
__attribute__ ((visibility ("default"))) void setA(int i); __attribute__ ((visibility ("default"))) int getA(); |
inso.c´úÂë
package com.yeepay.fraglifecircletest.frag;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.yeepay.fraglifecircletest.R;
public class FragA extends Fragment {
private static final String TAG = FragA.class.getSimpleName();
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.i(TAG, "onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i(TAG, "onCreateView");
return inflater.inflate(R.layout.fragment_test_a, null, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.i(TAG, "onViewCreated");
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onDestroy() {
Log.i(TAG, "onDestroy");
super.onDestroy();
}
@Override
public void onDetach() {
Log.i(TAG, "onDetach");
super.onDetach();
}
@Override
public void onDestroyView() {
Log.i(TAG, "onDestroyView");
super.onDestroyView();
}
@Override
public void onStart() {
Log.i(TAG, "onStart");
super.onStart();
}
@Override
public void onStop() {
Log.i(TAG, "onStop");
super.onStop();
}
@Override
public void onResume() {
Log.i(TAG, "onResume");
super.onResume();
}
@Override
public void onPause() {
Log.i(TAG, "onPause");
super.onPause();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
Log.i(TAG, "onActivityCreated");
super.onActivityCreated(savedInstanceState);
}
}
FragA.java |
package com.yeepay.fraglifecircletest.frag;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.yeepay.fraglifecircletest.R;
public class FragA extends Fragment {
private static final String TAG = FragA.class.getSimpleName();
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.i(TAG, "onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i(TAG, "onCreateView");
return inflater.inflate(R.layout.fragment_test_a, null, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.i(TAG, "onViewCreated");
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onDestroy() {
Log.i(TAG, "onDestroy");
super.onDestroy();
}
@Override
public void onDetach() {
Log.i(TAG, "onDetach");
super.onDetach();
}
@Override
public void onDestroyView() {
Log.i(TAG, "onDestroyView");
super.onDestroyView();
}
@Override
public void onStart() {
Log.i(TAG, "onStart");
super.onStart();
}
@Override
public void onStop() {
Log.i(TAG, "onStop");
super.onStop();
}
@Override
public void onResume() {
Log.i(TAG, "onResume");
super.onResume();
}
@Override
public void onPause() {
Log.i(TAG, "onPause");
super.onPause();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
Log.i(TAG, "onActivityCreated");
super.onActivityCreated(savedInstanceState);
}
}
FragA.java
package com.yeepay.fraglifecircletest.frag;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.yeepay.fraglifecircletest.R;
public class FragB extends Fragment {
private static final String TAG = FragB.class.getSimpleName();
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.i(TAG, "onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i(TAG, "onCreateView");
return inflater.inflate(R.layout.fragment_test_b, null, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.i(TAG, "onViewCreated");
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onDestroy() {
Log.i(TAG, "onDestroy");
super.onDestroy();
}
@Override
public void onDetach() {
Log.i(TAG, "onDetach");
super.onDetach();
}
@Override
public void onDestroyView() {
Log.i(TAG, "onDestroyView");
super.onDestroyView();
}
@Override
public void onStart() {
Log.i(TAG, "onStart");
super.onStart();
}
@Override
public void onStop() {
Log.i(TAG, "onStop");
super.onStop();
}
@Override
public void onResume() {
Log.i(TAG, "onResume");
super.onResume();
}
@Override
public void onPause() {
Log.i(TAG, "onPause");
super.onPause();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
Log.i(TAG, "onActivityCreated");
super.onActivityCreated(savedInstanceState);
}
}
FragB.java |
1£¬µ±ÎÒÃÇͨ¹ýÒÔÏ·½Ê½Ìí¼ÓFragAʱ£¬
1 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
2 fragA = new FragA();
3 fragmentTransaction.replace(R.id.frag_container, fragA, fragNames[0]);
4 fragmentTransaction.commit(); |
ËüµÄÉúÃüÖÜÆÚչʾ·½Ê½ÊÇͬÔÚ²¼¾ÖÎļþÖо²Ì¬ÉèÖõıíÏÖһģһÑùµÄ£¬ÕâÀï²»ÔÙÏêϸչ¿ª£¬´ó¼Ò¿ÉÒԲ鿴һÏÂÒÔÉÏÄÚÈÝ¡£
2,µ±ÎÒÃÇÒÔÈçÏ·½Ê½Õ¹Ê¾FragA²¢ÇÒûÓÐaddToBackStackʱ£¬
@Override
public void onClick(View v) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (v.getId()) {
case R.id.button1:
if (fragA == null) {
fragA = new FragA();
fragmentTransaction.replace(R.id.frag_container, fragA, fragNames[0]);
// fragmentTransaction.addToBackStack(fragNames[0]);
} else {
Fragment fragment = fragmentManager.findFragmentByTag(fragNames[0]);
fragmentTransaction.replace(R.id.frag_container, fragment, fragNames[0]);
}
break;
case R.id.button2:
if (fragB == null) {
fragB = new FragB();
fragmentTransaction.replace(R.id.frag_container, fragB, fragNames[1]);
// fragmentTransaction.addToBackStack(fragNames[1]);
} else {
Fragment fragment = fragmentManager.findFragmentByTag(fragNames[1]);
fragmentTransaction.replace(R.id.frag_container, fragment, fragNames[1]);
}
break;
default:
break;
}
fragmentTransaction.commit();
} |
FragAÉúÃüÖÜÆÚµ÷ÓÃ˳ÐòÊÇ£º

´Ëʱ£¬Èç¹ûÔÙµã»÷ÁíÍâÒ»¸ö°´Å¥B£¬½«FragBչʾ³öÀ´£¬FragAºÍFragBµÄÉúÃüÖÜÆÚչʾ·½Ê½ÊÇ£º

¿ÉÒÔ¿´µ½£¬FragAµ÷ÓÃ˳ÐòΪonPause, onStop, onDestroyView, onDestroy, onDetach.Õâ˵Ã÷£¬FragAÒѾ±»FragmentManagerÍêÈ«ÅׯúÁË£¬È¡¶ø´úÖ®µÄÊÇFragBµÄÍêȫչÏÖ¡£¶øÈç¹û´Ëʱ°´·µ»Ø¼üµÄ»°£¬FragBµÄÉúÃüÖÜÆÚÒ²½«ÊÇonPause, onStop, onDestroyView, onDestroy, onDetach¡£Õâ˵Ã÷£¬ÔÚÌí¼ÓFragmentʱÈç¹ûûÓе÷ÓÃaddToBackStack·½Ê½µÄ»°£¬µ±FragmentManager¸ü»»Fragmentʱ£¬ÊDz»±£´æFragmentµÄ״̬µÄ¡£
3£¬ÏÂÃæÎÒÃÇÔÚÌæ»»Fragmentʱ˳±ãaddToBackStack£¬ÔòÆäÉúÃüÖÜÆÚÕ¹ÏÖ·½Ê½ÊÇ£º
replace FragA and addToBackStack
########################################################################################
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onAttach
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onCreate
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onCreateView
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onViewCreated
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onActivityCreated
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onStart
01-13 17:08:43.359 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onResume |
¿ÉÒÔ¿´µÃ³öÀ´£¬´ËʱµÄÉúÃüÖÜÆÚ·½·¨µ÷ÓÃÊǸúûÓÐaddToBackStackʱûÓÐÈκÎÇø±ðµÄ¡£
È»ºóͨ¹ýµã»÷°´Å¥B£¬Ê¹ÓÃFragBÀ´Ìæ»»FragA£¬´ËʱFragAºÍFragBµÄÉúÃüÖÜÆÚ·½·¨µ÷ÓÃ˳ÐòÊÇ£º
and then replace FragB and addToBackStack
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onPause
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onStop
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onDestroyView
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onAttach
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onCreate
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onCreateView
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onViewCreated
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onActivityCreated
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onStart
01-13 17:08:46.959 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onResume |
ÓÉ´Ë¿ÉÒÔ¿´³ö£¬FragAÉúÃüÖÜÆÚ·½·¨Ö»Êǵ÷Óõ½ÁËonDestroyView£¬¶øonDestroyºÍonDetachÔòûÓб»µ÷Óã¬Õâ˵Ã÷FragAµÄ½çÃæÒѾ±»Ïú»ÙÁË£¬µ«ÊÇFragmentManager²¢Ã»ÓÐÍêÈ«Ïú»ÙFragA£¬FragAÒÀÈ»ÓÐ״̬±£´æÔÚFragmentManagerÀïÃæ¡£
È»ºóÔÙµã»÷°´Å¥A£¬Ê¹ÓÃFragAÀ´Ìæ»»µ±Ç°ÏÔʾµÄFragB£¬´ËʱFragAºÍFragBµÄÉúÃüÖÜÆÚ·½·¨µ÷ÓÃ˳ÐòΪ£º
and then replace FragA again
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onPause
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onStop
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragB©s onDestroyView
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onCreateView
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onViewCreated
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onActivityCreated
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onStart
01-13 17:08:51.869 3102-3102/com.yeepay.fraglifecircletest I/FragA©s onResume |
¿ÉÒÔ¿´µ½£¬FragBµÄÉúÃü·½·¨µ÷ÓÃ˳ÐòÊǸúFragBÌæ»»FragAʱFragAµÄµ÷ÓÃ˳ÐòÒ»Öµģ¬×÷ÓþÍÊÇÖ»Ïú»ÙÁËÊÓͼ£¬µ«ÊÇÒÀÈ»±£ÁôÁËFragmentµÄ״̬¡£¶ø´ËʱFragAµÄµ÷ÓÃÔòÖµµÃ×¢Ò⣬´ËʱFragAÖ±½Ó´ÓonCreateViewµ÷Æð£¬Ò²¾ÍÊÇ˵ֻÊÇÖØÐ´´½¨ÁËÊÓͼ£¬¶øÒÀȻʹÓÃÉϴα»Ì滻ʱµÄFragment״̬¡£
OK£¬Ëµµ½´Ëʱ£¬ÊÇ·ñ¶ÔFragmentµÄÉúÃüÖÜÆÚ·½·¨µ÷ÓÃÔÚÊÇ·ñaddToBackStackʱ²»Í¬ÓÐËù¸ü¼ÓÉîÈëµÄÁ˽âÁËÄØ£¿
ºÃ°É£¬×îºóÒ»¸öÎÊÌâ¡£ÊǹØÓÚFragmentÔÚFragmentManager¹ÜÀíʱ£¬showºÍhideʱµÄÉúÃüÖÜÆÚ·½·¨µ÷Óá£
´ËʱµÄµ÷ÓÃʵÏÖ·½Ê½Îª£º
void* handle = dlopen("libinso.so", RTLD_NOW); |
µÃµ½Ö¸¶¨µÄº¯ÊýÖ¸Õ룺
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (v.getId()) {
case R.id.button1:
hideAllFrags(fragmentTransaction);
if (fragA == null) {
fragA = new FragA();
fragmentTransaction.add(R.id.frag_container, fragA, fragNames[0]);
fragmentTransaction.addToBackStack(fragNames[0]);
} else {
fragmentTransaction.show(fragA);
}
break;
case R.id.button2:
hideAllFrags(fragmentTransaction);
if (fragB == null) {
fragB = new FragB();
fragmentTransaction.add(R.id.frag_container, fragB, fragNames[1]);
fragmentTransaction.addToBackStack(fragNames[1]);
} else {
fragmentTransaction.show(fragB);
}
break;
default:
break;
}
fragmentTransaction.commit(); |
ϸÐĵϰ¿ÉÒÔ·¢ÏÖ£¬ÔÚչʾFragmentʱ£¬ÎÒÃÇʹÓÃÁË·½·¨add¶ø·ÇÉÏÃæÓõÄreplace¡£¶øÇÒÖ±½ÓaddToBackStack¡£ÆäʵÕâÒ²¿ÉÒÔÀí½â£¬ÄãÏ룬FragmentManagerÔÚshow»òÕßhideʱ£¬¿Ï¶¨ÊÇÒѾ´æÔڵ쬻òÕßÈç¹ûûÓеϰ£¬ÐèÒªÌí¼Ó½øÀ´Fragment¡£Õâ±ãÊÇÔÚshowºÍhideʱ£¬ÐèҪעÒâµÄµØ·½£¬¼´Ê¹ÓÃaddºÍaddToBackStack·½·¨¡£
ÔÚµã»÷°´Å¥Aʱ£¬FragAµÄµ÷ÓÃ˳ÐòΪ£º
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onAttach
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onCreate
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onCreateView
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onViewCreated
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onActivityCreated
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onStart
01-15 16:57:20.390 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onResume |
¿ÉÒÔ¿´³öûÓÐʲô²»Í¬ÓÚÒÔÉÏËùÑԵIJ¿·Ö¡£
È»ºó£¬µã»÷°´Å¥Bʱ£¬FragAºÍFragBµÄµ÷ÓÃ˳ÐòΪ£º
01-15 16:57:23.360 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags
01-15 16:57:23.360 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onAttach
01-15 16:57:23.360 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onCreate
01-15 16:57:23.360 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onCreateView
01-15 16:57:23.370 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onViewCreated
01-15 16:57:23.370 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onActivityCreated
01-15 16:57:23.370 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onStart
01-15 16:57:23.370 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onResume |
¿ÉÒÔ¿´³ö£¬FragA²¢Ã»Óе÷ÓÃÉúÃüÖÜÆÚ·½·¨£¬Õâ˵Ã÷ÊÇչʾFragBʱ£¬FragAµÄÉúÃüÖÜÆÚ²¢Ã»Óз¢Éú±ä»¯¡£¶øFragBµÄÉúÃüÖÜÆÚÓë³õ´Îµã»÷°´Å¥AʱFragAµÄÉúÃüÖÜÆÚ·½·¨Ïàͬ¡£
È»ºóÔÙ¼ÌÐøµã»÷°´Å¥AºÍB£¬´Ëʱ´òÓ¡³öÀ´µÄlogΪ£º
1 01-15 16:57:25.220 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags
2 01-15 16:57:44.990 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags
3 01-15 16:57:47.350 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags
4 01-15 16:57:48.020 9225-9225/com.yeepay.fraglifecircletest I/hideAllFrags©s hideAllFrags |
Õâ˵Ã÷ÔÚFragAºÍFragBÌí¼Ó½øBackStackÖ®ºóÎÞÂÛÈçºÎµØshow»òÕßhide£¬ËüÃǵÄÉúÃüÖÜÆÚ²»ÔÙ·¢Éú±ä»¯¡£
¶øµ±ÆÁÄ»ÉÏËø»ò±ä°µ£¬È»ºóÔÙ½âËø»òÕß±äÁÁʱ£¬FragAºÍFragBµÄÉúÃüÖÜÆÚ·½·¨µ÷ÓÃ˳ÐòΪ£º
when screen is locked:
###########################################################################################
01-15 16:58:36.840 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onPause
01-15 16:58:36.840 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onPause
01-15 16:58:36.870 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onStop
01-15 16:58:36.880 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onStop
when screen is unlocked:
##########################################################################################
01-15 17:05:01.850 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onStart
01-15 17:05:01.850 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onStart
01-15 17:05:01.870 9225-9225/com.yeepay.fraglifecircletest I/FragA©s onResume
01-15 17:05:01.870 9225-9225/com.yeepay.fraglifecircletest I/FragB©s onResume |
¿ÉÒÔ¿´µÃ³öÀ´£¬Á½¸öFragment¶¼µ÷ÓÃÁËonPause, onStop, onStart, onResume¡£¶øÇÒFragAµÄµ÷ÓÃÒªÔÚFragB֮ǰ£¬Õâ˵Ã÷¸úËûÃÇÌí¼Ó½øBackStackµÄ˳ÐòÓйء£
|