您的位置:首页 > 移动开发

Android程序的真正入口Application

2017-05-02 14:11 316 查看
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闪退之后才会再次执行!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息