一个PendingIntent何时被销毁/移除?

3
我正在使用PendingIntentAlarmManagerBroadcastReceiver来在用户指定的时间显示提醒。我正在使用NotificationManager显示提醒。
在设置通知之前,我想要一个按钮显示"设置提醒",设置完通知后,我希望按钮显示"更改提醒"。一旦通知显示给用户,按钮应再次显示"设置提醒"
我使用相同的PendingIntent、相同的意图和上下文以及相同的唯一标识符(myUniqueId)来创建它,以检查PendingIntent是否处于活动状态。
Intent intent = new Intent(context, ReminderReceiver.class);
boolean reminderActive = (PendingIntent.getBroadcast(context, myUniqueId, intent, PendingIntent.FLAG_NO_CREATE) != null);

现在这个代码可以运行,按钮文本也正常显示。但是我发现一旦通知被显示出来,除非我显式地检索相同的PendingIntent并将其取消,否则它不会立即被删除,因此有一段时间,按钮仍然显示“更改提醒”。那么可以认为,除非我显式地取消PendingIntent,否则它仍将存储在内存中以供垃圾收集器进行回收吗?
1个回答

1
那么,可以这样认为,除非我明确取消了PendingIntent,否则它仍然存储在内存中吗?
是的。Android会缓存PendingIntent对象。据我所知,它们会一直存在,直到进程被终止。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接