डिज़ाइन द्वारा, एंड्रॉइड ऐप्स उपयोग की जा सकने वाली ढेर मेमोरी की मात्रा में बहुत सीमित हैं। एसडीके ऐप्स के लिए सीमा पुराने उपकरणों पर 16 एमबी जितनी कम है। यह डिज़ाइन पसंद आमतौर पर समझ में आता है क्योंकि ओएस उन उपकरणों पर बहु-कार्य करने का प्रयास करता है जो आमतौर पर स्मृति पर बहुत कम होते हैं - इसलिए प्रत्येक कार्य को अपना छोटा राशन मिलता है।एंड्रॉइड पर एनडीके का उपयोग करके बिटमैप्स के लिए अप्रतिबंधित ढेर मेमोरी के लिए लाइब्रेरी
स्मृति सीमा प्रति डिवाइस भिन्न होती है। स्टॉक पर सैमसंग गैलेक्सी एस 2 उदाहरण के लिए, प्रत्येक ऐप 32 एमबी -64 एमबी के बीच कहीं मिलता है। इस डिवाइस में 1 जीबी रैम है, इसलिए एक ही कार्य डिवाइस की पेशकश के बारे में केवल 5% का उपयोग कर सकता है।
यह उल्लेख करना महत्वपूर्ण है कि आईओएस पर मेमोरी रणनीति बहुत अलग है। मेरे सबसे अच्छे ज्ञान के लिए, कोई बाहरी रूप से लागू सीमा नहीं है कि आईओएस ऐप कितनी मेमोरी का उपयोग कर सकता है। जब तक सिस्टम स्मृति से बाहर नहीं हो जाता तब तक आप जितना चाहें उतना आवंटित कर सकते हैं। यदि आप बहुत लालची हैं, तो अन्य पृष्ठभूमि ऐप्स समाप्त हो जाएंगे।
चलो इसे रास्ते से बाहर निकालें - यह कोई चर्चा नहीं है कि कौन सी मेमोरी रणनीति बेहतर है।
एंड्रॉइड पर स्मृति सीमा कुछ ऐप्स के प्रकारों के लिए निगलना मुश्किल है। ग्राफिक-गहन ऐप्स (जैसे गेम) को बिटमैप्स रखने के लिए बहुत सारी मेमोरी चाहिए। यहां तक कि एक वेब ब्राउज़र भी डिफ़ॉल्ट सीमा के तहत लागू करने के लिए बहुत मुश्किल होना चाहिए।
जब resource optimization पर्याप्त नहीं है, तो स्मृति सीमा पर काबू पाने के लिए मानक रणनीति NDK का उपयोग कर रही है। एंड्रॉइड में "मूल" ढेर में कृत्रिम सीमाएं नहीं हैं और आईओएस पर ढेर की तरह व्यवहार करती हैं। बिटमैप्स को पकड़ने के लिए "मूल" ढेर का उपयोग करना अच्छी तरह से काम करता है - यह वास्तव में बिटमैप एंड्रॉइड 2.3.3 और निम्न पर रखा गया था (JVM अभी भी कृत्रिम रूप से सीमित है)।
मैं "मूल" ढेर में असीमित बिटमैप्स रखने के लिए एक एनडीके + जेएनआई लाइब्रेरी की तलाश में हूं। इसका जावा इंटरफ़ेस स्टॉक बिटमैप एपीआई के समान होना चाहिए। मैं इस उद्देश्य के लिए किसी भी सार्वजनिक परियोजना से अवगत नहीं हूं और एक खोजने के लिए आपकी मदद की सराहना करता हूं। यदि आपने पहले इसे लागू किया है और अपना कोड साझा करने के इच्छुक हैं, तो इसकी भी सराहना की जाएगी।
अंतिम टिप्पणी: कृपया इस तरह की लाइब्रेरी को आम जनता के लिए उपलब्ध होने की नैतिकता के बारे में कोई चर्चा न करें।
इसका जावा इंटरफ़ेस स्टॉक बिटमैप एपीआई के समान कैसे हो सकता है? –
यह पाठ्यक्रम के अपने नए पैकेज में होगा, लेकिन बिटमैप और बिटमैप फैक्ट्री के समान वर्गों की पेशकश करेगा, जिनमें मूल के समान ही तरीके हैं। आसान संक्रमण के लिए इंटरफ़ेस को समान बनाने के लिए – talkol