关于Android Application知识

Application在Activity之前运行

接触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.在配置文件中配置
示例代码如下:
01 package app.app;
02 import android.app.Application;
03 import android.content.res.Configuration;
04 public class MyApp extends Application {
05 @Override
06 public void onConfigurationChanged(Configuration newConfig) {
07   super.onConfigurationChanged(newConfig);
08 }
09 @Override
10 public void onCreate() {
11   super.onCreate();
12   System.out.println("MyApp is called");
13 }
14 @Override
15 public void onLowMemory() {
16   super.onLowMemory();
17 }
18 @Override
19 public void onTerminate() {
20   super.onTerminate();
21 }
22 }

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

Activity类:
1 public void onCreate(Bundle savedInstanceState) {
2  
3   super.onCreate(savedInstanceState);
4   setContentView(R.layout.main);
5   System.out.println("MainActivity is called");
6     
7 }

结果:MyApp is called       MainActivity is called   

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

注释2:MyApplication类的作用是为了放一些全局的和一些上下文都要用到变量和方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值