先执行application的name对应的类呢还是activity中的name对应的类?
今天找程序入口发现了下面的情况有两个name我就写了个测试程序大致如下:
先看mainfest.xml
<application
android:allowBackup="true"android:icon="@drawable/ic_launcher"
android:name="com.example.test1.app"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test1.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
k看app
package com.example.test1;
import android.app.Application;
import android.os.Bundle;
import android.util.Log;
public class app extends Application{
public void onCreate(){
super.onCreate();
Log.d("tt","application");
}
}
看activity如下
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("tt","activity");
new app();
}
}
最后我们来看日志文件就清楚了:
10-28 15:40:54.915: D/tt(4116): application
10-28 15:40:55.525: D/tt(4116): activity
这里就是说application 的name对应了类是在程序安装时候就创建了
然后我第二次打开如下:
只有一个信息
android.app.Application
Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml‘s <application> tag, which will cause that class to be instantiated for you when the process for your
application/package is created.
Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml‘s <application> tag, which will cause that class to be instantiated for you when the process for your
application/package is created.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。