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;
}

以下でこれを複数回行うのではないかと思いますが、元の保留中のインテント参照は毎回上書きされますか?

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 に答える