में रैम उपलब्धता का जवाब देना मेरे पास एक बनावट-भारी ओपनजीएल गेम है जिसे मैं डिवाइस पर कितनी रैम के आधार पर ट्यून करना चाहता हूं। आईफोन 4 या आईपैड 2 पर उच्चतम रिज़ॉल्यूशन बनावट ठीक है, लेकिन पहले डिवाइस बनावट को लोड करने के बीच में दुर्घटनाग्रस्त हो गया है। मेरे पास इन बनावट के कम-रेज संस्करण हैं, लेकिन मुझे यह जानने की ज़रूरत है कि उनका उपयोग कब किया जाए।आईओएस
मेरी वर्तमान रणनीति विशिष्ट पुराने उपकरणों का पता लगाने के लिए है (3 जीएस में कम-रेज स्क्रीन है; आईपैड में कोई कैमरा नहीं है), फिर केवल आईपीएड 2 और ऊपर और आईफोन 4 और ऊपर के लिए हाय-रेज बनावट लोड करें - और मुझे लगता है कि मैं आइपॉड स्पर्श के लिए कुछ करने की आवश्यकता होगी। लेकिन मैं कड़ी-कोडिंग डिवाइस मॉडल की तुलना में फीचर डिटेक्शन का अधिक उपयोग करता हूं, क्योंकि मॉडल पहचान एपीआई और हार्डवेयर में भविष्य में बदलाव के खिलाफ नाजुक है।
एक और संभावना है कि मैं पहले हाई-रेज बनावट को लोड करना चाहता हूं, फिर उन्हें छोड़ दें और उन्हें कम स्मृति चेतावनी मिलने के बाद उन्हें lo-res के साथ प्रतिस्थापित करें। हालांकि, मुझे यकीन नहीं है कि मुझे प्रतिक्रिया देने का मौका मिलेगा; मैंने देखा है कि डीबग कंसोल पर किसी अधिसूचना से पहले ऐप अक्सर मर जाता है।
मैं कैसे पता लगा सकता हूं कि मेरे द्वारा चलाए जा रहे डिवाइस में मेरे बनावट के हाय-रेज संस्करणों को लोड करने के लिए अपर्याप्त रैम है या नहीं?
एक कदम पीछे लेना, क्या कोई अन्य अनुकूली तकनीक है जिसका उपयोग मैं ओपनजीएल बनावट मेमोरी के लिए विशिष्ट कर सकता हूं?
नोट्स:
मैं पर और उपलब्ध रैम का पता लगाने से संबंधित जवाब के लिए एसओ बंद खोज की है, लेकिन वे सभी मूल रूप से स्मृति उपयोग की रूपरेखा और अपशिष्ट को नष्ट (temporaries के जीवनकाल को न्यूनतम करने के लिए सलाह है, और सभी कि बक)। मैंने जितना संभव किया उतना किया है, और पुराने उपकरणों में हाय-रेज बनावट को निचोड़ने का कोई तरीका नहीं है।
पीवीआरटीसी एक विकल्प नहीं है। बनावट में डेटा को खंडित शेडर्स द्वारा उपयोग किया जाता है और इसे लापरवाह प्रारूप में संग्रहीत किया जाना चाहिए।
ध्यान दें कि आप इस थ्रेड [आईओएस पर मुफ्त मेमोरी] (http://stackoverflow.com/questions/5012886) में विस्तृत कुल रैम और फ्री रैम आंकड़े प्राप्त कर सकते हैं। इसके अलावा, मैंने अपने आईफोन 4 पर कोड का परीक्षण किया और यह अच्छी तरह से काम करता है! –