4

我正在 Android 中编写一个警报应用程序,我有以下内容:

ArrayList<PendingIntent> pendingIntents = new ArrayList<PendingIntent>();

public PendingIntent setAlarm(long time) {
    ...other code.
    PendingIntent pi = PendingIntent.getBroadcast(context, num, intent, flags);
    return pi;
}

我想知道如果在下面多次执行此操作,是否每次都会覆盖原始的 Pending Intent 引用?

pendingIntents.add(num, setAlarm(1000));
4

2 回答 2

2

基本上,您暂时将对象引用分配给 variable pi。变量被覆盖,但对象未被覆盖。它会安全地添加到您的列表中以供将来使用。

于 2011-08-06T18:55:55.730 回答
2

不,这不对。

每次调用add时,在指定索引之后插入一个元素。

也许您打算使用set. 那个替换了该num位置的项目,旧值符合 GC 条件。

于 2011-08-06T18:56:43.633 回答