接触android已经有一段时间了,一直以为android程序的入口是配置文件中指定的Activity,最近看一个开源项目,发现里面实现了android 的Application类,才知道,android程序的真正入口是Application类的onCreate方法。只不过大多数开发者无需重写该类,它的继承关系如下图:java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application


android.app.Application类包含了4个公开的方法
voidonConfigurationChanged(Configuration newConfig)
voidonCreate()//这里才是真正的入口点。
voidonLowMemory()
voidonTerminate()


下面是测试代码:
使用application需要两个步骤:1.复写Application类,2.在配置文件中配置
示例代码如下:
MyApp类:

package app.app;
import android.app.Application;
import android.content.res.Configuration;

public class MyApp extends Application {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}

@Override
public void onCreate() {
super.onCreate();
System.out.println("MyApp is called");
}

@Override
public void onLowMemory() {
super.onLowMemory();
}

@Override
public void onTerminate() {
super.onTerminate();
}

}



配置文件:
<application android:icon="@drawable/icon" android:label="@string/app_name"android:name="app.app.MyApp" >
......

</application>

Activity类:
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("MainActivity is called");


}

结果:MyApp is called MainActivity is called

注释1:在Android中,Application只是一个松散的表征概念,没有多少实质上的表征[和J2me的Midlet有明显区别]。Application类,代表应用程序上下文状态,是一个极度弱化的概念。Application只是一个空间范畴的概念,Application就是Activity,Service之类的组件上下文描述。Application并不是Android的核心概念,而Activity才是Android的核心概念
注释2:MyApplication类的作用是为了放一些全局的和一些上下文都要用到变量和方法。

原文:Android程序的真正入口Application
http://www.pocketcn.com/forum-viewthread-tid-1565-fromuid-1477.html

更多相关文章

  1. 【Android FFMPEG 开发】FFMPEG 获取编解码器 ( 获取编解码参数
  2. (转载)关于android应用程序的入口Activity
  3. Android bluetooth介绍(一):基本概念及硬件接口
  4. android的上下文菜单
  5. android上下文之间参数的传递与接…
  6. Android程序的入口点
  7. Android 的 Binder 机制概念介绍
  8. 上下文周期应用
  9. Android之查找apk包名和启动入口类

随机推荐

  1. Android - Android应用程序(Application)
  2. 记录Android开发中遇到的一些问题
  3. Android(安卓)ADB简单命令入门及原理介绍
  4. [Android Memory] Android Zipalign zip
  5. Android blueZ HCI(一个):hciconfig实施和经
  6. Android 5.1部分apk的升级或缓存功能无效
  7. 【视频课程】Android底层开发关键技术—A
  8. TextView 图文聊天
  9. Android内核和驱动程序
  10. android Handler详细使用方法实例