Android学习笔记(十五)——碎片的生命周期(附源代码)

简介:

碎片的生命周期


点击下载源代码


与活动类似。碎片具有自己的生命周期。理解了碎片的生命周期后。我们能够在碎片被销毁时正确地保存事实上例,在碎片被重建时将其还原到前一个状态。


1、使用上一篇的项目Fragments。在Fragment1.java文件里加入例如以下代码:

package net.zenail.Fragments;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment1 extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		Log.d("Fragment 1", "onCreateView");
		// 实例化布局文件
		return inflater.inflate(R.layout.fragment1, container, false);
	}

	@Override
	public void onAttach(Activity activity) {
		// TODO Auto-generated method stub
		super.onAttach(activity);
		Log.d("Fragment 1", "onAttach");
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		Log.d("Fragment 1", "onCreate");
	}

	@Override
	public void onActivityCreated(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onActivityCreated(savedInstanceState);
		Log.d("Fragment 1", "onActivityCreated");
	}

	@Override
	public void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.d("Fragment 1", "onStart");
	}

	@Override
	public void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.d("Fragment 1", "onResume");
	}

	@Override
	public void onPause() {
		super.onPause();
		Log.d("Fragment 1", "onPause");
	};

	public void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.d("Fragment 1", "onStop");
	}

	@Override
	public void onDestroyView() {
		// TODO Auto-generated method stub
		super.onDestroyView();
		Log.d("Fragment 1", "onDestroyView");
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.d("Fragment 1", "onDestroy");
	}

	@Override
	public void onDetach() {
		// TODO Auto-generated method stub
		super.onDetach();
		Log.d("Fragment 1", "onDetach");
	}
}

2、按Ctrl+F11,将Android模拟器切换到横向模式;

3、在Eclipse中按下F11键。在模拟器上调试应用程序;

4、当应用程序载入到模拟器中后。LogCat窗体会显演示样例如以下内容:


5、单击模拟器上的Homebutton,LogCat窗体中显演示样例如以下输出:


6、在模拟器上长按Homebutton,再单击Fragments以启动应用程序,LogCat显演示样例如以下:


7、最后,单击模拟器中Backbutton,LogCat窗体显演示样例如以下输出:


8、由上面的实例可知。碎片经历的步骤例如以下:

碎片被创建时:onAttach()-->onCreate()-->onCreateView()-->onActivityCreated()。

碎片进入后台模式时:onPause()-->onStop()。

碎片变为可见时:onStart()-->onResume();

碎片被销毁时:onPause()-->onStop()-->onDestroyView()-->onDestroy()-->onDetach();

9、与活动一样,碎片能够使用Bundle对象在下面状态中还原碎片的实例:

onCreate()、onCreateView()、onActivityCreated()。







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5184172.html,如需转载请自行联系原作者

相关文章
|
7月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
78 2
|
1月前
|
安全 搜索推荐 程序员
深入探索Android系统的碎片化问题及其解决方案
在移动操作系统的世界中,Android以其开放性和灵活性赢得了广泛的市场份额。然而,这种开放性也带来了一个众所周知的问题——系统碎片化。本文旨在探讨Android系统碎片化的现状、成因以及可能的解决方案,为开发者和用户提供一种全新的视角来理解这一现象。通过分析不同版本的Android系统分布、硬件多样性以及更新机制的影响,我们提出了一系列针对性的策略,旨在减少碎片化带来的影响,提升用户体验。
|
2月前
|
Android开发 开发者 UED
深入理解安卓应用开发中的生命周期管理
本文旨在探讨安卓应用开发中生命周期管理的重要性,以及如何有效利用生命周期解决常见问题。通过分析安卓应用生命周期的不同阶段及其特点,提供实用的代码示例和调试技巧,帮助开发者优化应用性能,提升用户体验。
47 8
|
2月前
|
Java Android开发 UED
深入探索安卓应用开发中的生命周期管理:从创建到销毁的全过程
在安卓应用开发中,理解并妥善管理应用及活动(Activity)的生命周期至关重要。本文将详细解析从应用创建到销毁的整个生命周期过程,以及如何通过高效管理提升应用性能与用户体验。
84 4
|
4月前
|
Android开发 UED 开发者
探索安卓应用的生命周期管理
【8月更文挑战第31天】在开发安卓应用时,理解并妥善处理应用的生命周期是至关重要的。本文将通过浅显易懂的方式,带你了解安卓应用的生命周期,并通过代码示例展示如何在实际应用中进行有效的生命周期管理。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和实用技巧。
|
4月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
285 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
6月前
|
Android开发 UED
Android Activity的生命周期详解
Android Activity的生命周期详解
|
7月前
|
Java Android开发 C++
Android源代码定制:MK文件执行顺序|属性覆盖
Android源代码定制:MK文件执行顺序|属性覆盖
427 2
Android源代码定制:MK文件执行顺序|属性覆盖
|
7月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
7月前
|
Android开发 芯片
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
323 3