Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Android FragmentÉúÃüÖÜÆÚÉîÈë̽¾¿
 
À´Ô´£ºLittlePanpcµÄ²©¿Í ·¢²¼ÓÚ 2015-2-10
  8852  次浏览      28
 

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µÄ˳ÐòÓйء£

   
8852 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ


Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ


ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ