比较Activity与Fragment的生命周期

前言:熟练掌握Activity与Fragment的生命周期非常重要,简单给大家整整
一、Activity 生命周期
Activity生命周期
二、Fragment 生命周期
Fragment生命周期
三、Activity与Fragment生命周期对比图
对比图
四、代码测试
下面是MainActivity的代码:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
    private static final String TAG = "Activity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getFragmentManager().findFragmentById(android.R.id.content) == null){
            MyFragment myFragment = new MyFragment();
            getFragmentManager().beginTransaction().add(android.R.id.content,myFragment).commit();
        }
        Log.e(TAG, "onCreate...");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.e(TAG, "onStart...");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e(TAG, "onRestart...");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e(TAG, "onResume...");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e(TAG, "onPause...");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e(TAG, "onStop...");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e(TAG, "onDestroy...");
    }
}

下面是Fragment的代码:

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Created by kb on 2017/7/11.
 * 滴水穿石,铁杵成针
 */
public class MyFragment extends Fragment{
    private static final String TAG = "Fragment";
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        Log.e(TAG, "onAttach***");
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.e(TAG, "onCreate***");
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Log.e(TAG, "onCreateView***");
        return inflater.inflate(R.layout.fragment_my,container,false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Log.e(TAG, "onActivityCreated***");
    }

    @Override
    public void onStart() {
        super.onStart();
        Log.e(TAG, "onStart***");
    }

    @Override
    public void onResume() {
        super.onResume();
        Log.e(TAG, "onResume***");
    }

    @Override
    public void onPause() {
        super.onPause();
        Log.e(TAG, "onPause***");
    }

    @Override
    public void onStop() {
        super.onStop();
        Log.e(TAG, "onStop***");
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.e(TAG, "onDestroy***");
    }

    @Override
    public void onDetach() {
        super.onDetach();
        Log.e(TAG, "onDetach***");
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        Log.e(TAG, "onDestroyView***");
    }
}

五、测试结果

07-11 11:37:20.402 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onCreate...
07-11 11:37:20.404 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onAttach***
07-11 11:37:20.404 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onCreate***
07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onCreateView***
07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onActivityCreated***

07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onStart...
07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onStart***

07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onResume...
07-11 11:37:20.407 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onResume***

07-11 11:38:04.674 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onPause***
07-11 11:38:04.674 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onPause...

07-11 11:38:05.018 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onStop***
07-11 11:38:05.018 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onStop...

07-11 11:38:11.388 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onRestart...
07-11 11:38:11.388 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onStart...
07-11 11:38:11.388 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onStart***

07-11 11:38:11.388 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onResume...
07-11 11:38:11.388 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onResume***

07-11 11:38:21.363 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onPause***
07-11 11:38:21.363 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onPause...

07-11 11:38:21.716 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onStop***
07-11 11:38:21.716 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onStop...

07-11 11:38:21.717 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onDestroyView***
07-11 11:38:21.717 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onDestroy***
07-11 11:38:21.717 25641-25641/com.example.kangbai.mylifecycle01 E/Fragment: onDetach***
07-11 11:38:21.717 25641-25641/com.example.kangbai.mylifecycle01 E/Activity: onDestroy...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值