2010-12-19 14 views
7

तो जब मैं डिवाइस से एप्लिकेशन चलाता हूं तो चित्र दिखाते हैं और सबकुछ बढ़िया काम करता है। हालांकि, जब मैं डिवाइस पर जाता हूं तो मैं 38 तस्वीरों में से लगभग 10 में भागता हूं जो दिखाई नहीं देते हैं। मैं एक एसक्लाइट डेटाबेस से छवियों के लिए नाम खींच रहा हूं और मैंने पहले से ही जांच की है और नाम सही हैं, केस और सबकुछ। मैंने बंडल की जांच की और छवियां वहां पर सही हैं।सिम्युलेटर में दिखाए गए चित्र, लेकिन आईफोन डिवाइस पर नहीं

क्या स्मृति इस में प्रभाव डालती है? मुझे सच में यकीन नहीं है कि यह और क्या हो सकता है ??

धन्यवाद!

समाधान: फ़ाइलों को किसी भी तरह से ठीक से सहेजा नहीं गया था और फ़ोटोशॉप या पेंट कहकर भी खोला नहीं जा सका। इसलिए फ़ाइलों को खोलने में सक्षम नहीं होने के कारण वे दिखाई नहीं दे रहे थे ... हर किसी की मदद के लिए धन्यवाद!

उत्तर

6

सिम्युलेटर छवि प्रारूपों की एक विस्तृत श्रृंखला स्वीकार करता है। कभी-कभी आपके पास एक विशिष्ट फ़ाइल प्रकार होता है जिसे डिवाइस प्रदर्शित नहीं कर सकता है। दूसरों की ओर से कुछ अंतर की तलाश में 10 फाइलों को दो बार जांचें।

2

हां, स्मृति पूरी तरह से इसमें निभाती है। अपने UIImage निर्माण कॉल की जांच करें और सुनिश्चित करें कि वे खाली नहीं आते हैं। साथ ही, यह देखने के लिए जांचें कि क्या आपको कंसोल विंडो में मेमोरी चेतावनियां मिल रही हैं या नहीं।

43

जांच करने वाली पहली चीज़ संसाधनों का संदर्भ देने के लिए उपयोग किए जा रहे तारों का मामला है। आईफोन केस संवेदनशील है, लेकिन सिम्युलेटर नहीं है।

ओह, बस देखा कि आपने मामले की जांच की है। अपने सभी UIImage निर्माण कॉल को बेहतर लॉग इन करें!

+1

अंतर्दृष्टि। 12. – ratsimihah

+2

इससे मेरी मदद मिली। सिम्युलेटर खुद छवि के लिए केस-असंवेदनशील प्रतीत होता है UIImage के नामित भाग, लेकिन डिवाइस इसके बारे में सख्त है। – Joseph

+0

इससे मुझे भी मदद मिली। – Bobby

1

आम तौर पर, यदि स्मृति में आकार अपराधी था, तो आपका एप्लिकेशन डिवाइस पर कम स्मृति त्रुटि के साथ क्रैश हो जाएगा। हालांकि, ऐसा लगता है कि छवियां सिर्फ प्रदर्शित नहीं होती हैं।

एक और चीज जो गलत हो सकती है छवियों का आकार है। आईफोन पर UIViews केवल GPU द्वारा समर्थित अधिकतम बनावट आकार से छोटे आयाम हो सकते हैं। ऐप्पल का कहना है कि यह 1024 x 1024 है, लेकिन मुझे यह मूल मॉडल आईफोन पर भी 2048 x 2048 जैसा लगता है। आप इनमें से कुछ छवियों के लिए एक दृश्य बना रहे हैं जो इस आकार को एक आयाम में पार करते हैं, लेकिन आपके मैक के जीपीयू पर एक बड़ा अधिकतम बनावट आकार है और इसलिए यह सिम्युलेटर में ठीक दिखता है।

+0

छवि आकार के बारे में सिर्फ एक टिप्पणी, डबल आकार नए आईफोन 4 के कारण है। अब आप छवियों को संकल्प के लिए आकार को दोगुना करने में सक्षम हैं। मेरा मानना ​​है कि यह छवियों के मूल आकार और मूल नाम के साथ छवियों के रूप में सरल है, छवि नाम + "@ x2" या "@ 2" वाला दूसरा दूसरा आकार/संकल्प से दोगुना है। – Matt

+0

@ मैट - नहीं, अधिकतम बनावट आकार में अंतर आईफोन 4 के कारण नहीं है, यह उपयोग किए गए जीपीयू की अंतर्निहित सीमा है। मैं मूल आईफोन पर आईफोन ओएस 2.0 के बाद से 2048 x 2048 परतों और बनावट का उपयोग करने में सक्षम हूं, इसलिए यह नई रेटिना डिस्प्ले क्षमताओं से असंबंधित है। यह वास्तविक हार्डवेयर से भिन्न ऐप्पल के दस्तावेज का एक मामला है, जो कि भविष्य में जीपीयू चश्मा बदलने के मामले में केवल रूढ़िवादी हो सकता है। –

+0

छवियों के संबंध में पावरवीआर एसजीएक्स के लिए अधिकतम रिज़ॉल्यूशन 2048 के रूप में कहा गया है: हमने पाया है कि यदि छवियां बहुत बड़ी हैं या पर्याप्त स्मृति नहीं है तो हमारा ऐप क्रैश नहीं होता है। आईओएस अन्य छवियों को डंप करता है जो प्रदर्शित नहीं होते हैं और फिर जब आप उनके पास वापस आते हैं तो वे वहां नहीं आते हैं। कंसोल हालांकि स्मृति चेतावनी प्रदर्शित करता है। – twerdster

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

  • कोई संबंधित समस्या नहीं^_^