Android程序的真正入口Application
来源:互联网 发布:qlearning算法 编辑:程序博客网 时间:2024/06/05 18:58
接触android已经有一段时间了,一直以为android程序的入口是配置文件中指定的Activity,最近看一个开源项目,发现里面实现了android 的Application类,才知道,android程序的真正入口是Application类的onCreate方法。只不过大多数开发者无需重写该类,它的继承关系如下图:java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
android.app.Application类包含了4个公开的方法
void onConfigurationChanged(Configuration newConfig)
void onCreate() //这里才是真正的入口点。
void onLowMemory()
void onTerminate()
下面是测试代码:
使用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.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
android.app.Application类包含了4个公开的方法
void onConfigurationChanged(Configuration newConfig)
void onCreate() //这里才是真正的入口点。
void onLowMemory()
void onTerminate()
下面是测试代码:
使用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类的作用是为了放一些全局的和一些上下文都要用到变量和方法。
来源:http://www.pocketcn.com/forum-viewthread-tid-1565-fromuid-1477.html
- Android程序的真正入口Application
- Android程序的真正入口Application
- Android程序的真正入口Application
- Android程序的真正入口Application
- Android程序的真正入口Application
- Application是Android程序的真正入口
- Android程序的真正入口Application
- android程序的真正入口点之application
- 程序的真正入口
- 程序真正的入口
- Android 应用的真正入口 - ZygoteInit.java
- android程序的入口
- c++程序真正入口函数
- Android程序的入口点
- Android程序的入口点
- 关于Android程序的入口
- android 笔记 【一个应用程序的入口 ——Application】
- 关于Android程序入口的猜想
- 程序员面试题精选100题(34)-数组中只出现一次的数字[算法]
- 查找出字符串中出现最多的字符及其出现的次数
- cocos2d-x实例-魔塔游戏(3)-控制勇士行走
- 内存管理
- Java菜鸟笔记-逻辑运算符
- Android程序的真正入口Application
- cocos2d-x示例学习(1)之开篇
- cocos2d-x实例学习(2)之CCMoveTo&CCMoveBy
- VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程
- 利用函数将一个浮点型变量转化为二进制
- 解决ubuntu12.04中txt文本显示乱码
- 编程之美:如何让CPU使用率一直保持在50%左右
- android webservice 简单应用
- foreach