7

के लिए एक कमजोर संदर्भ बनाएं क्या किसी ऑब्जेक्ट के कमजोर संदर्भ बनाने के लिए एक्शनस्क्रिप्ट 3 में यह संभव है, ताकि यह कचरा एकत्र किया जा सके।किसी ऑब्जेक्ट

मैं डिबगिंग को आसान बनाने के लिए कुछ कक्षाएं बना रहा हूं, इसलिए मैं नहीं चाहता कि ऑब्जेक्ट्स मेमोरी में चारों ओर लटकाएं यदि उन्हें केवल संदर्भित किया गया है (और निश्चित रूप से मैं कॉलबैक के साथ कोड को भरना नहीं चाहता वस्तुओं) को हटाने

उत्तर

5

अनुदान स्किनर resource management in ActionScript 3 पर लेख का एक उत्कृष्ट श्रृंखला लिखा है, और तीसरे भाग में उस श्रृंखला के वह the WeakReference and the WeakProxyReference सहायक वर्गों का परिचय देता है जिनका उपयोग इस के लिए किया जा सकता है।

3

अभी मैं शब्दकोश weakKeys पैरामीटर का लाभ लेने के लिए एक सरल वर्ग बनाया है:

public class WeakReference 
{ 
    private var dic 

    public function WeakReference(object) 
    { 
     this.dic = new Dictionary(true) 
     this.dic[object] = true 
    } 

    public function get Value() 
    { 
     for (var object in this.dic) 
     { 
      return object 
     } 
     return null 
    } 
} 
+1

आप अर्द्ध-कोलन से चूक गए;) –

+0

@mattlohkamp अर्ध-कॉलन कभी-कभी जरूरी नहीं होते हैं, लेकिन यह उनका उपयोग करने के लिए एक अच्छा प्रैटिस है। यह पूरे ईसीएमएस्क्रिप्ट पर लागू होता है, वे खाली बयान हैं, जबकि अल्पविराम अनुक्रम अभिव्यक्ति करते हैं। उदा।: 'ट्रेस (1), ट्रेस (2);'। यह जेएस और एएस 3 दोनों में काम करता है (सिवाय इसके कि वैश्विक जेएस ऑब्जेक्ट में 'ट्रेस' के लिए गेटर/सेटर/प्रॉपर्टी नहीं है)। – Hydro

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