JNI

2010-12-06 23 views
6

içinde dizi oluştururken SetObjectArrayElement sonra DeleteLocalRef DeleteLocalRef kullanarakkodu yerel olarak oluşturulan bir java nesnesi eklemek için SetObjectArrayElement() çağırarak büyük bir dizi yapıyorum.JNI

, SetObjectArrayElement() kullanılarak diziye nesne taktıktan sonra, dizi G sokulur nesneye yerel referans serbest DeleteLocalRef kullanımı için böyle bir referans olarak saklamak etmez olan sorum?

cevap

10

Evet.

jobjectArray bir dizi başvuruya işaret eder.

Bu dizinin bir üyesini yerel bir referansa ayarladığınızda, nesneye ikinci bir başvuruda bulundunuz. Yerel referansı silerseniz, dizideki referans kalır. Çöp toplayıcı, ulaşılabilen geri kalan referans bulunmayana kadar asıl nesneyi atmayacaktır.