मेरे पास एक हस्तलेख पहचान एप है - उपयोगकर्ता अपनी उंगली से खींचता है, ऐप पात्रों को पहचानता है। मान्यता इंजन एक कार्यकर्ता थ्रेड में चलता है जिसमें न्यूनतम संभव प्राथमिकता होती है - Thread.MIN_PRIORITY
। यह पूरी तरह से सीपीयू/मेमोरी एल्गोरिदम है, नहीं I/O जो भी हो। फिर भी, जब धागा सक्रिय रूप से काम कर रहा है, तो यूआई बल्कि चंचल हो जाता है। उंगली स्ट्रोक दिखाई देने में एक देरी देरी लेते हैं। मैं भी स्पर्श घटनाओं को खोने की सूचना देता हूं।जब कार्यकर्ता धागा काम करता है, यूआई चकाचौंध हो जाता है
क्या यह नहीं है कि वास्तव में क्या थ्रेडिंग से बचने में मदद की जानी चाहिए? यूआई थ्रेड सीपीयू के लिए भूखा क्यों है? सिस्टम को वर्कर थ्रेड के साथ-साथ कम प्राथमिकता वाले पृष्ठभूमि थ्रेड के रूप में समझने के लिए कैसे मनाया जाता है?
ऐसा लगता है कि सिस्टम शुरू हो रहा है (स्वेच्छा से या सीपीयू भुखमरी के कारण) invalidate()
और onDraw()
के बीच देरी। क्या मैं किसी देरी को उस देरी को कम कर सकता हूं?
अपेक्षाकृत पुराने हार्डवेयर पर परीक्षण - एंड्रॉइड 2.1 के साथ एचटीसी जादू। वर्ण पहचान विधि में मुख्य चक्र में Thread.sleep(1)
जोड़ने के लिए
समय-समय पर पैदावार का सबसे अच्छा प्रभाव पड़ा। –
हाय एसडी, क्या आप इस कोड ब्लॉक में इंडेंटेशन को ठीक कर सकते हैं? साथ ही, क्या आप सिंटैक्स हाइलाइटर को यह सोचने से रोकने के लिए एक [भाषा टैग] (http://meta.stackexchange.com/a/75019/321006) जोड़ने का प्रयास कर सकते हैं कि उपज एक कीवर्ड है? मुझे लगता है कि ऑटो हाइलाइटर ने माना कि यह सी # कोड था। – jrh