Android - 应用程序onCreate方法 - 它总是先被调用吗?

qkx*_*qkx 6 android

我正在准备我的一个应用程序的新版本,并且我在我的应用程序中做了如此巨大的更改,我需要在更新应用程序之后完全做一些数据转换,这绝对是第一件事(在做其他任何事情之前).我想,最好的地方就是在我的类(扩展Application)中的onCreate()方法.我测试了几次,它似乎工作正常,但后来我读了文档:

需要维护全局应用程序状态的基类.您可以通过在AndroidManifest.xml的标记中指定其名称来提供自己的实现,[b]这将导致在创建应用程序/包的进程时为您实例化该类[/ b].

看起来我是对的,但我不太确定.你能证实/反驳吗?

Dal*_*son 10

将首先调用Application构造函数.然后将调用Application :: onCreate()方法.我所知道的唯一例外是,如果Application包含ContentProvider,它可以在Application之前接收调用.

这是从这里:http://developer.android.com/reference/android/app/Application.html#onCreate()

public void onCreate()

在API级别1中添加在应用程序启动时调用,在创建任何活动,服务或接收方对象(不包括内容提供程序)之前.实现应尽可能快(例如使用状态的延迟初始化),因为在此函数中花费的时间直接影响在进程中启动第一个活动,服务或接收器的性能.如果重写此方法,请务必调用super.onCreate().