Android: 初始化时同一个应用的两个 Aplication class 实例
Android: two Aplication class instances for the same app when doing initialization
我们将Android应用程序的所有初始化都放在了MyApplication.onCreate()
中。我们希望在应用程序加载到内存时只执行一次。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG,"onCreate -----------------------------------------");
init();
}
然而在测试过程中我发现 Application onCreate()
被调用了两次。 (第二次可能来自我不太了解的服务)虽然 documentation says
public void onCreate () Added in API level 1
Called when the application is starting, before any activity, service,
or receiver objects (excluding content providers) have been created.
是不是同时为Activity和Service创建了Application?
我可能遗漏了什么?
您的 activity 和服务可能 运行 在不同的进程中(检查清单文件中 activity 和服务的 android:process
属性)。
Android 每个应用进程创建一个 Application
上下文实例。
我们将Android应用程序的所有初始化都放在了MyApplication.onCreate()
中。我们希望在应用程序加载到内存时只执行一次。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG,"onCreate -----------------------------------------");
init();
}
然而在测试过程中我发现 Application onCreate()
被调用了两次。 (第二次可能来自我不太了解的服务)虽然 documentation says
public void onCreate () Added in API level 1
Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created.
是不是同时为Activity和Service创建了Application?
我可能遗漏了什么?
您的 activity 和服务可能 运行 在不同的进程中(检查清单文件中 activity 和服务的 android:process
属性)。
Android 每个应用进程创建一个 Application
上下文实例。