2011-07-17 15 views
5

मैं फोनगैप का उपयोग कर आईओएस ऐप पर काम कर रहा हूं। मैं एक परेशान समस्या में भाग गया जहां मेरी कुछ छवियां लोड नहीं हो रही थीं। यह सोचकर कि यह एक कैश मुद्दा था जिसे मैंने छवियों को स्वैप करने के लिए खेला था।मोबाइल सफारी में छवि आकार सीमाएं?

मुझे अंत में पता चला कि इस मुद्दे को मेरी छवि की ऊंचाई के साथ करना था। परीक्षण और त्रुटि के पूरे समूह के बाद मैंने पाया कि 7864px से अधिक की एक छवि आईपैड सिम्युलेटर या आईपैड में लोड नहीं होगी। सफारी में यह ठीक लोड होगा। यह फ़ाइल आकार सीमा नहीं है क्योंकि ये आकार में केवल 45k हैं और मैं छवियों को लोड कर रहा हूं जो किसी समस्या के बिना कहीं और 700k आकार में हैं।

क्या कोई इस में भाग लेता है? मुझे मोबाइल सफारी के भीतर छवि आयामों पर कोई भी दस्तावेज प्रतिबंध नहीं मिल रहा है। यदि प्रतिबंध हैं, तो उन्हें जानना आसान होगा।

+0

ओपेरा मिनी पूर्ण Res में छवियां दिखाता है। –

उत्तर

5

देशी ऐप्स के लिए, ऐप्पल 2048x2048 1024x1024 are to be avoided से बड़ी छवियों को कहता है और इसे छोटे में विभाजित किया जाना चाहिए। यहां समस्या डिस्क पर फ़ाइल का आकार नहीं है, लेकिन स्मृति में आकार: छवि को डीकोड किया जाना चाहिए और "फ्लैट" प्रतिनिधित्व में बदलना है।

तो चलो कुछ गणित करें: 8-बिट आरजीबी के साथ एक छवि 5000x5000 पिक्सल मानें।

5.000 * 5.000 * 3 = 75.000.000 (मोटे तौर पर 71.5 MiB)

तो आप अपने उचित रूप में छोटे छवि वास्तव में बहुत तेजी से स्मृति भरता देखें: यह प्रत्येक पिक्सेल 3 बाइट्स पर है का मतलब है। यदि आईओएस मेमोरी प्रेशर के तहत है तो आईओएस अब भागों को फेंक नहीं सकता है, यह पूरी छवि या कुछ भी नहीं है।

आपका एकमात्र समाधान छवि को छोटे भागों में तोड़ देता है। आईओएस तब उन छवियों को हटा सकता है जो स्मृति से अब दिखाई नहीं दे रहे हैं (मुझे इस तरह की एक बड़ी छवि के साथ संदेह है कि सभी भागों हर समय दिखाई दे रहे हैं)।

+0

ऐसा लगता है कि मूल यूआई प्रतिपादन का जिक्र है। क्या यह मोबाइल सफारी के साथ भी सच होगा (फोनगैप)? मैं उस सीमा के साथ काम कर सकता हूं, लेकिन इसका मतलब है कि मुझे अपने सीएसएस में स्प्राइट्स का उपयोग करना बंद करना होगा - जो कि कहीं और सिफारिश की जाती है। तो मैं अभी भी एक उलझन में हूँ। ;) –

+0

मैंने देशी ऐप दस्तावेज का हवाला दिया है क्योंकि मुझे कुछ भी बेहतर नहीं मिला। फिर भी, समस्या वही है, चाहे देशी ऐप्स या सफारी के साथ: एक विशाल तस्वीर में बड़ी मात्रा में स्मृति होती है, और ओएस इसके हिस्सों को पुर्ज नहीं कर सकता (AFAIK)। लेकिन अगर आप बहुत छोटी छवियों के साथ एक बड़ी छवि टाइल करते हैं, तो उन छवियों को शुद्ध करने में कोई समस्या नहीं है जो इस समय दिखाई नहीं दे रहे हैं। कम से कम यही ऐप्पल कहता है कि हम मूल डेवलपर्स को यह कैसे करना चाहिए। – DarkDust

+0

इसलिए मैं विकिपीडिया के 13,000 पिक्सेल पैनोरामा को लोड नहीं कर सकता! – Ian

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