android上的Activity的生命周期图并不保证会调用onDestroy(),但是可能会终止该进程并突然删除Activity.android上的服务的生命周期图确保了将调用onDestroy().所以我有两个与这种差异有关的问题.
首先,如果Service是与Activity相同的进程的一部分,是否调用了Service onDestroy(),虽然没有调用Activity onDestroy()?我不这么认为,因为"杀死进程"表明操作系统正在停止其线程并释放其资源.
如果是这样的话,操作系统是否会突然杀死仅服务进程?
如果我与我的应用程序进行交互(使用),我有一个警报可以正常工作,但是如果我将它设置为第二天并且不与我的应用程序进行交互则它不起作用.因此我怀疑这是因为我的应用程序进程没有运行那时候.
这就是我在做什么
Calendar calSet = Calendar.getInstance();
calSet.set(Calendar.HOUR_OF_DAY, selectedhour);
calSet.set(Calendar.MINUTE, selectedminute);
calSet.set(Calendar.YEAR, year);
calSet.set(Calendar.MONTH, monthOfYear);
calSet.set(Calendar.DATE, dayOfMonth);
alarm = new Intent(ActivityA.this, Service.class);
pendingIntent = PendingIntent.getService(getApplicationContext(), i++,alarm, 1);
alarmanager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),pendingIntent);
Run Code Online (Sandbox Code Playgroud)