2012-07-12 20 views
6

हम एक सेन्चा टच 2 एप्लिकेशन विकसित कर रहे हैं जो फोनगैप का उपयोग इसे एप्लिकेशन के रूप में स्थापित करने और डिवाइस के संग्रहण तक पहुंचने में सक्षम बनाता है। यह आईपैड 2 और iPad 3. पर वास्तव में अच्छी तरह से काम करता है लेकिन जब हम एक Android डिवाइस पर एप्लिकेशन को चलाने की कोशिश की, प्रदर्शन बहुत धीमी थी। सिस्टम को धीमा करने वाले मुख्य तत्व सूचियां और कैरोसेल थे। जब हम क्रोम ब्राउज़र के माध्यम से एक ही आवेदन का परीक्षण करने की कोशिश की, प्रदर्शन पर बराबर आईपैड के साथ किया गया था।सेन्चा टच 2 - एंड्रॉइड प्रदर्शन

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

आपके समय & सहायता के लिए धन्यवाद।

+0

देखें। मैं फोनगैप और सेन्चा का भी उपयोग कर रहा हूं। लेकिन अब तक मुझे प्रदर्शन के मामले में ज्यादा समस्या का सामना नहीं करना पड़ा। हो सकता है कि कुछ मूल सुविधाओं जैसे कि बारकोड स्कैनिंग और सभी के लिए यह धीमा हो। परन्तु ज्यादा नहीं। मैं नवीनतम corodova.jar फ़ाइल का उपयोग करने का सुझाव दूंगा। 1.8 या 1.9 –

+0

हो सकता है हम वास्तव में कॉर्डोवा संस्करण 1.9 का उपयोग कर रहे हैं लेकिन फिर भी प्रदर्शन अच्छा नहीं है। मुझे यह उल्लेख करना होगा कि हम इसे एक एमवीसी अनुप्रयोग के रूप में विकसित नहीं कर रहे हैं क्योंकि यह हमारी पहली परियोजना है जो सेन्चा का उपयोग कर रही है ताकि यह प्रदर्शन को भी प्रभावित कर सके। बहुत से लोग उल्लेख करते हैं कि समस्या की जड़ एंड्रॉइड का वेब व्यू है जो फोनगैप काम करता है, जाहिर है यह हेव साइट्स के लिए अच्छा नहीं है। – user1520547

+0

लेकिन मैं एमवीसी आर्किटेक्चर का उपयोग कर रहा हूं। तो यूआई भाग, मैं फोनगाप का उपयोग कर सेन्चा टच 2 और मूल भाग का उपयोग कर रहा हूं। लेकिन अब तक प्रदर्शन के अनुसार यह अच्छा है। –

उत्तर

12

आपके पास यहां की समस्या यह है कि एंड्रॉइड ब्राउज़र ग्राफिक्स हार्डवेयर त्वरण का उपयोग नहीं करता है। इसका मतलब है कि मानक चाल, जैसे कि सीएसएस 3 डी के रूप में है कि Sencha (और इस तरह jquerymobile, iScroll आदि ... के रूप में अन्य एचटीएमएल 5 पुस्तकालयों) अच्छा स्क्रॉल प्रदर्शन प्रदान करने के लिए उपयोग पैदा करने के लिए एक अपनी सूची एक अलग परत में प्रदान करने की बदल देती है, जो कर सकते हैं फिर हार्डवेयर में अनुवाद किया जाए, एंड्रॉइड पर काम नहीं करेगा। इसके बजाए, सूची स्क्रॉल पूरी तरह से सॉफ्टवेयर में किया जाएगा, जो धीमा होने जा रहा है!

क्रोम ब्राउज़र, हालांकि GPU त्वरण प्रदान करता है। एंड्रॉयड डिवाइस एक अच्छा एचटीएमएल 5 अनुभव देने में सक्षम से अधिक है, यह केवल कि मानक ब्राउज़र GPU हार्डवेयर का लाभ अभी तक नहीं ले करता है।

जब तक आप अपने अंतिम उपयोगकर्ताओं को क्रोम (जो मुझे संदेह है) का उपयोग करने के लिए मजबूर नहीं कर सकते हैं, तो एकमात्र विकल्प उपयोगकर्ता अनुभव को अपनाना है, और एंड्रॉइड उपयोगकर्ताओं के लिए थोड़ा सरल यूआई प्रदान करना है।

अधिक जानकारी के लिए, देखें "IMPROVING THE PERFORMANCE OF YOUR HTML5 APP"

+0

यह बताता है कि समस्या क्या है, धन्यवाद। जैसा कि आपने अनुमान लगाया है कि हम क्रोम का उपयोग करने के लिए उपयोगकर्ताओं को मजबूर करने में सक्षम नहीं हैं क्योंकि हमें एप्लिकेशन के लिए 5 एमबी से अधिक डेटा स्टोर करने की आवश्यकता है, और इसलिए स्थानीय स्टोरेज पर्याप्त नहीं होगा। मैं आपके द्वारा प्रदान किए गए लिंक पर एक नज़र डालेगा, शायद हम प्रदर्शन – user1520547

0

अपने AndroidManifest.xml में इस ध्वज सेट करके देखें: एंड्रॉयड: hardwareAccelerated = "true"

+0

में सुधार करने के लिए कुछ दृश्य अपील का त्याग कर सकते हैं पहले से ही यह कोशिश कर रहा है लेकिन यह काम नहीं कर रहा है, प्रदर्शन बिल्कुल वही था जब विकल्प गलत पर सेट किया गया था। लक्ष्य एसडीके को 15 (4.0.3) पर सेट करने का भी प्रयास किया लेकिन अभी भी इसका कोई फायदा नहीं हुआ – user1520547

0

अद्यतन: करने के बाद अब लंबे समय तक अधिक अब ST2 के साथ काम किया प्रदर्शन एंड्रॉइड पर चुनौतियां केवल कुछ ही है जो आपको स्वीकार करनी है। श्रोताओं और घटनाओं को कम करने जैसे प्रदर्शन मुद्दों से बचने के लिए आप कई चीजें कर सकते हैं, अपने डोम लाइट (2000 नोड्स से नीचे) रखें और आम तौर पर किसी भी CSS3 रूपांतरण और प्रभाव से बचें (ये विशेष रूप से एंड्रॉइड पर अच्छा प्रदर्शन नहीं करते हैं)

एक और बात पर विचार करने के बजाय आप क्रॉसवॉक ब्राउज़र का उपयोग करें और APK में इस एम्बेड कर सकता WebView में बनाया का उपयोग करने से है।

https://crosswalk-project.org

यह अपने APK (15-20MB) करने के लिए एक छोटे से आकार लेता है, लेकिन यह WebView में बनाया तुलना में बेहतर प्रदर्शन और एक बहुत ही खंडित मंच के लिए स्थिरता और स्थिरता लाता है। वास्तविकता डिवाइस पर निर्भर है कि Android पर हर WebView पर विचार करें, विक्रेता और OS संस्करण छोटे मायनों में अलग हो सकता है। क्रॉसवॉक आपको सभी एंड्रॉइड 4.0+ उपकरणों में सटीक एक ही संस्करण रखने की अनुमति देगा और किसी भी डिवाइस या विक्रेता विशिष्ट मुद्दों को हटा देगा।

एंड्रॉइड पर प्रदर्शन के लिए कोई रजत बुलेट नहीं है। ग्राफिक्स त्वरण शुद्ध जावास्क्रिप्ट निष्पादन या डीओएम हेरफेर के प्रदर्शन में सुधार नहीं करेगा।आईसीएस के लिए

और वेबव्यू पर निम्न सेटिंग ऊपर काफी प्रतिपादन प्रदर्शन में सुधार होगा: आप क्यों समझने के लिए चाहते हैं, तो यहाँ शुरू:

What's the difference between reflow and repaint?

पुराने उत्तर (अभी भी मान्य हो सकता है) एंड्रॉयड पर Sencha टच के लिए:

mWebView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null); 

हालांकि मेरे अनुभव में यह कलाकृतियों सीएसएस प्रतिपादन में उपकरण और मंच VA के पर निर्भर करता है का परिचय देंगे riation। मुझे विशेष रूप से इसका कोई कारण नहीं मिला है और मुझे उम्मीद नहीं है कि Google इसे हल करेगा क्योंकि वेबव्यू घटक को एंड्रॉइड 4.4 में एक नए और बेहतर संस्करण के साथ बदल दिया जाएगा।

https://developers.google.com/chrome/mobile/docs/webview/overview

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