मेरे पास मेरे एप्लिकेशन में एक छवि कैश है जिसे सॉफ़्ट रेफरेंस का उपयोग करके लागू किया गया है। Dalvik अपेक्षाकृत छोटे ढेर के साथ अनुप्रयोग शुरू करता है, और फिर मांग के मामले में इसे बढ़ाता है। लेकिन मैं शुरुआत से अपना ढेर आकार बड़ा करना चाहता हूं। ऐसा इसलिए है क्योंकि जब मेरे पास पहले से ही कैश में कुछ छवियां होती हैं, और एक गतिविधि शुरू होती है (उदाहरण के लिए) या अन्य शीर्ष मेमोरी मांग होती है, तो उस चरम मांग के लिए स्मृति देने के लिए मेरा कैश शुद्ध हो जाता है। नतीजतन, चोटी के बाद चले गए मेरे पास अभी भी 2-3 एमबी फ्री स्पेस है लेकिन मेरा कैश खाली है!एंड्रॉइड: रनटाइम पर ढेर आकार कैसे बढ़ाएं?
मैं इस समस्या के लिए जो समाधान देखता हूं वह एक बड़ा ढेर फोरहैंड आवंटित कर रहा है, यहां तक कि 2-3 एमबी की चोटी की खपत के साथ भी इसमें कुछ कमरे की जगह है इसलिए मेरे सॉफ़्ट संदर्भों को शुद्ध नहीं किया गया है।
मुझे पता चला कि VMRuntime.getRuntime().setMinimumHeapSize(BIGGER_SIZE)
सहायक होगा। विशेष रूप से, Google उनके ऐप्स में उपयोग करता है, जैसा कि here बताया गया है। हालांकि, VMRuntime वर्ग को बहिष्कृत किया गया है और भविष्य में रिलीज में सार्वजनिक एपीआई से हटाया जाना कहा जाता है। तो setMinimumHeapSize
एक स्थायी समाधान नहीं है।
फिर मैं स्टार्टअप पर अपने ढेर को बढ़ाने के लिए दलविक कैसे बना सकता हूं?
वर्तमान में मैं एक बड़ी सरणी आवंटित करके इसे जारी करके वास्तव में सीधे-सीधे और चीज तकनीक का उपयोग करता हूं। यह दलविक को ढेर बढ़ने के कारण बनाता है। हालांकि, मुझे यकीन है कि ऐसा करने का और अधिक शानदार तरीका होना चाहिए। क्या आप मुझे बता सकते हैं, कृपया?
मुझे शक है आप को सार्वजनिक API – Falmarri
गूगल मैप्स प्रतिबिंब का उपयोग करता है और इस API का उपयोग यह करने के लिए एक तरह से मिल जाएगा, मैं इस पोस्ट करते हुए कॉल :) – sherpya