【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 Application的使用及其生命周期

摘要: 1. Application的使用 2. Application的生命周期 ---------------------------------------------------- 工...

Android之activity与application生命周期

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

android application 生命周期

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

android application生命周期介绍

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

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

这篇文章已是几年前的,但是目前应该依然使用于各种不同进程被android系统回收优先级的判断,所以转载来收藏,如果该机制有所改变,望提出啊 In most cases, every Android a...

application使用,生命周期

Android Application 使用和生命周期Application定义网上查到的application的定义为: Android的Application同Activity和Serv...

android活动生命周期

  • 2017年10月28日 11:46
  • 33.23MB
  • 下载

Android生命周期

  • 2014年03月05日 15:36
  • 1.11MB
  • 下载

【IOS6.0 自学瞎折腾】(五)应用程序的启动过程和Application生命周期

一 :main函数入口 看下项目资源结构,其实程序的入口也是在main.m里面。 #import #import "BvinAppDelegate.h" int main(int...
  • BvinCN
  • BvinCN
  • 2013年09月02日 14:25
  • 601

浅谈Android生命周期

  • 2016年08月16日 13:11
  • 1.17MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android 】Application的使用及其生命周期
举报原因:
原因补充:

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