Android程序的真正入口Application

来源:互联网 发布:eclipse创建Java步骤 编辑:程序博客网 时间:2024/06/05 18:55

Android程序的真正入口是Application而不是在清单文件中配置的activity

如下图




Application配置使用


1.写一个类实现Application 如下图

package com.finddreams.runningman;


import android.annotation.SuppressLint;
import android.app.Application;
import android.content.res.Configuration;
import android.util.Log;


public class MyApplication extends Application{

//onCreate--->程序创建的时候执行
@Override
public void onCreate() {
super.onCreate();
Log.d("MyApplication", "MyApplication----onCreate()方法!!!!!!!!!!!!");
}

//onConfigurationChanged--->横竖屏切换的时候执行
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.d("MyApplication", "MyApplication----onConfigurationChanged()方法!!!!!!!!!!!!");
}

//onLowMemory--->低内存的时候执行
@Override
public void onLowMemory() {
super.onLowMemory();
Log.d("MyApplication", "MyApplication----onLowMemory()方法!!!!!!!!!!!!");
}

//onTrimMemory--->程序在内存清理的时候执行
@SuppressLint("NewApi")
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
Log.d("MyApplication", "MyApplication----onTrimMemory()方法!!!!!!!!!!!!");
}

//onTerminate--->程序终止的时候执行
@Override
public void onTerminate() {
super.onTerminate();
Log.d("MyApplication", "MyApplication----onTerminate()方法!!!!!!!!!!!!");
}

}


Application几个公开的方法

onCreate,onConfigurationChanged,onLowMemory,onTrimMemory,onTerminate 一般常用的是onCreate


2.清单文件中配置



3.activity(主)

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


Log.d("MyApplication", "(配置Activity)RuningManActivity----onCreate()方法!!!!!!!!!!!!");

}


4.结果



右上图可知 Android应用的入口点是Application而不是配置的主activity



注意Application的onCreate()方法不是每次程序启动的时候都执行的

只有APP第一次运行或是以后代码更改或是出现bug闪退之后才会再次执行!!!

0 0
原创粉丝点击