Android应用程序onCreate,何时调用

hta*_*oya 4 android application-lifecycle android-service android-lifecycle

我仍然没有得到Application(不是Activity)生命周期的方式,

在启动GUI时调用Application的onCreate方法非常简单.

但是,它是在以下任何一种情况下开始的吗?

  • App Widget可见
  • 广播接收器收到的东西
  • 推送通知到达设备并显示消息
  • 应用关闭后,点击推送通知
  • 服务已开始

申请流程能保持多久?

现在我有一个问题,我看到应用程序(进程)在关闭/终止应用程序后重新启动.然而,没有任何实现,所以有这种行为.

Com*_*are 7

但是,它是在以下任何一种情况下开始的吗?

您的Application实例是在启动流程时创建的.

App Widget可见

只是可见而与您的应用及其流程无关.您的应用及其流程将参与填充应用小部件,创建时以及何时更新.例如,如果updatePeriodMillis触发更新,并且当时间到来时,您没有进程,则ApplicationAppWidgetProvider调用之前创建实例作为启动进程的一部分onUpdate().

广播接收器收到的东西

如果您的流程已存在,则您的Application实例已存在.如果您的进程不存在,则ApplicationBroadcastReceiver调用之前创建一个实例作为启动进程的一部分onReceive().

推送通知到达设备并显示消息

如果你的意思是GCM,因为这是一个广播,见上文.

应用关闭后,点击推送通知

我不明白你的意思.

服务已开始

如果您的代码正在启动该服务,那么您的流程已经在运行,并且您已经拥有了Application.如果某个其他进程正在启动您的服务,并且您的进程未运行,则会ApplicationService创建进程之前创建一个进程.

申请流程能保持多久?

如果通过"申请流程",你的意思是"流程",那么你的流程将在一个毫秒到一千年之间.它会一直存在,直到Android终止它以释放其他应用程序的系统RAM,或直到某些东西专门摆脱它(例如,"任务杀手",强制停止在设置中).