2010-12-06 13 views
6

में सरणी बनाने के दौरान SetObjectArrayElement के बाद DeleteLocalRef का उपयोग करना जेएनआई में JNI कोड में स्थानीय रूप से बनाए गए जावा ऑब्जेक्ट को सम्मिलित करने के लिए SetObjectArrayElement() पर कॉल करके मैं एक बड़ी सरणी बना रहा हूं।जेएनआई

मेरा प्रश्न है, SetObjectArrayElement() का उपयोग करके सरणी में ऑब्जेक्ट डालने के बाद, क्या सरणी एक संदर्भ संग्रहीत करती है कि मैं हटाए गए ऑब्जेक्ट के स्थानीय संदर्भ को मुक्त करने के लिए DeleteLocalRef का उपयोग कर सकता हूं?

उत्तर

10

हां।

जॉबजेक्टअरे संदर्भों की एक सरणी को इंगित करता है।

जब आप उस सरणी के सदस्य को स्थानीय संदर्भ में सेट करते हैं, तो आपने ऑब्जेक्ट का दूसरा संदर्भ दिया है। यदि आप स्थानीय संदर्भ को हटाते हैं, तो सरणी में संदर्भ बनी हुई है। कचरा कलेक्टर वास्तविक वस्तु का निपटान नहीं करेगा जब तक कि कोई शेष पहुंच योग्य संदर्भ न हो।

संबंधित मुद्दे