碎片的生命周期

一、碎片的状态和

1.运行状态

当一个碎片是可见的,并且她所关联的活动正处于运行状态,该碎片就是运行?状态。

2.暂停状态

当一个活动那个进入暂停状态(由于另一个未占满屏幕的活动被添加到栈顶),与它相关联的?可见碎片进入到暂停状态。

3.停止状态

当一个活动进入到停止状态的时候,与它相关联的碎片就会进入到停止状态。或者通过调用FragmentTransaction的remove()、replace()方法将碎片从活动中移除,但有在事务提交之前调用addToBackStack()方法,这时的碎片也就会进入到停止状态。总的来说,进入到停止状态的碎片对于用户来说是完全不可见的,有可能会被?系统回收。

4.销毁状态

碎片总是依附于活动而存在的,因此当活动被销毁的时候,与它相关联的碎片就会进入到销毁状态?。或者通过调用FragmentTransaction的remove()、replace()方法将碎片从活动中移除,但有在事务提交之前并没有调用addToBackStack()方法,这时的碎片也就会进入到停止状态。

Android

二、额外的回调方法

1.toAttach()

当活动与碎片建立关联的时候进行调用

2.onCreateView()

为碎片创建视图(加载布局)时调用

3.onActivityCreated()

确保与碎片相关的试图被移除的时候进行调用

4.onDestroyView()

当与碎片关联的视图被移除的时候进行调用?。

5.onDetach()

当碎片与活动解除关联的时候调用

碎片的完整生命周期图例

复制代码
package com.example.fragmenttest;

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;

?

public class RightFragment extends Fragment {

public static final String TAG = “RightFragment”;

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

Log.d(TAG,”onAttach”);

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.d(TAG,”onCreate”);

}

@Override

public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {

Log.d(TAG,”onCreateView”);

View view = inflater.inflate(R.layout.right_fragment,container,false);

return view;

}

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

Log.d(TAG,”onActivity”);

}

@Override

public void onStart() {

super.onStart();

Log.d(TAG,”onStart”);

}

@Override

public void onResume() {

super.onResume();

Log.d(TAG,”onResume”);

}

@Override

public void onPause() {

super.onPause();

Log.d(TAG,”onPause”);

}

@Override

public void onStop() {

super.onStop();

Log.d(TAG,”onStop”);

}

@Override

public void onDestroy() {

super.onDestroy();

Log.d(TAG,”onDestroy”);

?

}

@Override

public void onDetach() {

super.onDetach();

Log.d(TAG,”onDetach”);

}

}

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章