【Android 】Application的使用及其生命周期

转载 2016年06月01日 19:21:45

                           Android Application的使用及其生命周期

摘要:

1. Application的使用

2. Application的生命周期


一. Application的使用

1.多个组件之间数据共享(全局数据共享);

2.启动APP后进行崩溃捕获和闪退处理;

3.启动APP后自动创建Service;

4.管理Activity堆栈,方便应用程序完全退出;


①.两个Activity之间数据共享

Application 对同一个应用程序是唯一的,所以可以使用Application进行数据共享

定义两个Activity:  MainActivity.java 和 MainActivity2.java, 代码是一样的

复制代码
TextView tv;
EditText et;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_main_activity2);
    setContentView(R.layout.activity_main2);

    tv = (TextView) findViewById(R.id.tv);
    et = (EditText) findViewById(R.id.et);
    
    tv.setText("共享数据:" + getApp().getTextData());
    
    findViewById(R.id.btnTextData).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            getApp().setTextData(et.getText().toString());
            tv.setText("共享数据:" + et.getText().toString());
        }
    });
}

public App getApp() {
    return ((App)getApplicationContext());
}

定义一个类App,集成Application

复制代码
public class App extends Application {
    
    private String textData = "default";
    
    public void setTextData(String textData) {
        this.textData = textData;
    }
    public String getTextData() {
        return textData;
    }
}
复制代码

 

. Application的生命周期

复制代码
public class App extends Application {

    @Override
    public void onCreate() {
        // 程序创建的时候执行
        Log.d(TAG, "onCreate");
        super.onCreate();
    }
    @Override
    public void onTerminate() {
        // 程序终止的时候执行
        Log.d(TAG, "onTerminate");
        super.onTerminate();
    }
    @Override
    public void onLowMemory() {
        // 低内存的时候执行
        Log.d(TAG, "onLowMemory");
        super.onLowMemory();
    }
    @Override
    public void onTrimMemory(int level) {
        // 程序在内存清理的时候执行
        Log.d(TAG, "onTrimMemory");
        super.onTrimMemory(level);
    }
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        Log.d(TAG, "onConfigurationChanged");
        super.onConfigurationChanged(newConfig);
    }
    
}
复制代码

 

复制代码
打开Activity
08-16 15:16:27.142: D/CARLOZ - Application(28202): onCreate
08-16 15:16:27.172: D/CARLOZ - MainActivity3(28202): onCreate
08-16 15:16:27.232: D/CARLOZ - MainActivity3(28202): onStart
08-16 15:16:27.232: D/CARLOZ - MainActivity3(28202): onResume
HOME键退出应用程序
08-16 15:16:55.372: D/CARLOZ - MainActivity3(28202): onPause
08-16 15:16:55.942: D/CARLOZ - MainActivity3(28202): onStop
08-16 15:16:55.952: D/CARLOZ - Application(28202): onTrimMemory    回收内存
重新打开应用程序
08-16 15:17:20.962: D/CARLOZ - MainActivity3(28202): onRestart
08-16 15:17:20.962: D/CARLOZ - MainActivity3(28202): onStart
08-16 15:17:20.962: D/CARLOZ - MainActivity3(28202): onResume
长按MENU键,打开Recent TASK
08-16 15:17:28.972: D/CARLOZ - MainActivity3(28202): onPause
08-16 15:17:28.992: D/CARLOZ - MainActivity3(28202): onStop
08-16 15:17:29.022: D/CARLOZ - Application(28202): onTrimMemory
彻底关闭应用程序
08-16 15:17:31.542: D/CARLOZ - MainActivity3(28202): onDestroy

深入剖析Android四大组件(一)——Activity生命周期详解

虽然如此,但即使你没有实现onSaveInstanceState()方法,也还是有一些Activity的状态通过Activity类默认实现的onSaveInstanceState()方法恢复。特别是,...
  • liyuanjinglyj
  • liyuanjinglyj
  • 2015年07月25日 19:37
  • 2987

[译]玩转Android Application的生命周期(不,不许覆盖那个Home键)

API 14及以上 用Application.onTrimLevel(int level)和TRIM_MEMORY_UI_HIDDEN判断应用是否切换至后台运行。 通过INTENT.ACTION_SC...
  • qq284565035
  • qq284565035
  • 2016年07月02日 16:45
  • 6130

Android四大基本组件介绍与生命周期

Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。 一:了解四大基本组件 Activity...
  • haitaoDoit
  • haitaoDoit
  • 2015年03月31日 11:20
  • 5733

Android Application的使用及其生命周期

摘要: 1. Application的使用 2. Application的生命周期 ---------------------------------------------------- 工...
  • Guofengpu
  • Guofengpu
  • 2016年09月25日 15:45
  • 447

Android中第三方框架【网络框架Volley】的使用【Application生命周期】【内存泄漏问题】

工作内容: 1.自定义类继承Application类(全局变量的定义——所有activity都可以使用 2.内存泄漏问题分享 3.第三方框架Volley的使用 学习分享:(这里讲解Volley会涉及...
  • yingtian648
  • yingtian648
  • 2016年09月13日 14:36
  • 512

Android Application的使用及其生命周期

摘要: 1. Application的使用 2. Application的生命周期 —————————————————- 工程代码:LearnContext.zip —————————————————...
  • HZHXH
  • HZHXH
  • 2017年05月14日 11:27
  • 407

Android之activity与application生命周期

理解Android中activity,application甚至是service的生命周期是很重要的,能更好的了解一个程序在各种情况下运行的过程,然后编写出更高效和健壮的程序出来。    还是上图比...
  • u013926110
  • u013926110
  • 2015年07月09日 12:04
  • 2998

android application 生命周期

转自: Lifecycle of an Android Application Android应用程序生命周期   In most cases, every Android appl...
  • mark_xl
  • mark_xl
  • 2014年04月04日 11:40
  • 1378

android application生命周期介绍

看到application这个类,1直不知道这个是干甚么用的,今天恰好有点时间,所以进行了详细的学习。 1.先对它的整体概念解释: 在android源码中对他的描写是;     ...
  • lyglostangel
  • lyglostangel
  • 2015年11月04日 16:45
  • 564

Android应用程序生命周期 - Lifecycle of an Android Application

这篇文章已是几年前的,但是目前应该依然使用于各种不同进程被android系统回收优先级的判断,所以转载来收藏,如果该机制有所改变,望提出啊 In most cases, every Android a...
  • mrDiordna
  • mrDiordna
  • 2015年08月28日 14:00
  • 629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android 】Application的使用及其生命周期
举报原因:
原因补充:

(最多只允许输入30个字)