2012-01-20 15 views
6

शीर्षक की तरह, क्या मुझे अभी भी 16 एमबी ढेर आकार सीमा के आसपास अपना आवेदन डिजाइन करना चाहिए? कारण मैं पूछता हूं कि मैं हाल ही में एक गेम विकसित कर रहा हूं जो मेरे लगभग 2 साल पुराने Droid 2 पर ठीक चलता है। लेकिन जब मैं 16 एमबी हीप आकार सीमा के साथ एवीडी का उपयोग करके अपने ऐप का परीक्षण करता हूं, तो मुझे स्मृति त्रुटियों से बाहर निकलता है। डीडीएमएस के साथ मेरे आवेदन की निगरानी से पता चलता है कि मेरे गेम के लिए आवंटित कुल मेमोरी लगभग 20 एमबी है। यह एक बड़ा अंतर नहीं है, लेकिन 16 एमबी सीमा के तहत काम करने के लिए मेरा खेल प्राप्त करने से वास्तव में दृश्यों को नुकसान पहुंचाएगा।एंड्रॉइड हीप आकार सीमा, क्या हमें अभी भी 16 एमबी सीमा के साथ अनुप्रयोगों को डिजाइन करने की ज़रूरत है?

अब, अगर यह 2008 था, तो मैं यह प्रश्न भी नहीं पूछूंगा। लेकिन यह 2012 है, जी 1 के शुरू होने के लगभग 4 साल बाद। क्या यह कहना सुरक्षित है कि पिछले साल किए गए अधिकांश फोन 16 एमबी से अधिक मेमोरी आवंटित करने की अनुमति देते हैं? या क्या मैं वास्तव में 16 एमबी सीमा के साथ अपने आवेदन को डिजाइन न करके खुद को खराब कर रहा हूं?

+0

मैंने अपना पुराना फोन 5 साल तक रखा। मैं अपने Droid 2G को 5 साल तक रखने की उम्मीद करता हूं। – Chloe

उत्तर

6

ढेर सीमा डिवाइस रिज़ॉल्यूशन (और शायद अन्य कारकों) के आधार पर भिन्न होती है। तो एक उच्च रिज़ॉल्यूशन डिवाइस पर ढेर सीमा 30 एमबी हो सकती है जबकि कम रिज़ॉल्यूशन जी 1 पर यह 16 एमबी है। आम तौर पर आपको अपने ग्राफिक्स को तदनुसार बदलना चाहिए ताकि कम रिज़ॉल्यूशन डिवाइस कम रिज़ॉल्यूशन ग्राफिक्स (जो कम जगह लेता है) का उपयोग करता है और उच्च रिज़ॉल्यूशन डिवाइस उच्च रिज़ॉल्यूशन ग्राफिक्स का उपयोग करता है (जो अधिक जगह लेता है)।

+2

धन्यवाद, आपकी पोस्ट ने मुझे यह महसूस करने का नेतृत्व किया कि मुझे एमुलेटर के भीतर पहली बार अपने आवेदन पर दुर्घटना क्यों हो रही थी। मैंने अपने एवीडी को एक बड़े स्क्रीन रिज़ॉल्यूशन के साथ सेट किया था लेकिन तदनुसार ढेर आकार नहीं बनाया था। जब मैं वापस गया और स्क्रीन जी संकल्प को मूल जी 1 के समान कुछ बदल दिया, तो मेरा गेम 16 एमबी ढेर आकार सीमा से अधिक बिना पूरी तरह से भाग गया। – AntiWiggin

2

हां हमें अभी भी इसकी आवश्यकता है लेकिन हर मामले में नहीं। यदि आप मूल कोड का उपयोग कर रहे हैं तो सी कंपाइलर द्वारा आवंटित स्मृति में इस सीमा में शामिल नहीं है। इसलिए आप अपने आवेदन आवश्यक घटक को और अधिक स्मृति प्रदान कर सकते हैं। और दूसरा तरीका इन बनावट के लिए OpenGL.then मेमोरी का उपयोग कर छवियों को आकर्षित करने के लिए बनावट का उपयोग करना सीमित स्मृति से शामिल नहीं है।

लेकिन इन तकनीक नहीं में हर मामले

एक और महत्वपूर्ण बात को लागू किया जा सकता है, तो आप इन 30 MB पूरी तरह से also.Only 30% का उपयोग नहीं कर सकते हैं की यह एक आवेदन के लिए प्रयोग करने योग्य है।

+0

"इसका केवल 30% एक आवेदन के लिए उपयोग योग्य है।" एक साथ 5 ऐप्स खोलने के बारे में क्या? –

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