8
- क्या
onDraw()
के अंदरinvalidate()
पर कॉल करने के लिए यह एक अच्छा प्रोग्रामिंग अभ्यास है?
मेरी समझ के अनुसार, invalidate()
onDraw()
अंदर बुला महंगा है और अगर वहाँ कैनवास में कोई परिवर्तन नहीं है आवश्यकता नहीं है।क्या यह एक अच्छा प्रोग्रामिंग अभ्यास है जिसे अवैध() अंदर डालना है()?
invalidate()
onDraw()
की एक अतुल्यकालिक संस्करण के बराबर है?
मेरी समझ के अनुसार, वे समकक्ष हैं। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं। धन्यवाद।
स्पष्टीकरण के लिए धन्यवाद (कुछ मामलों में जहां आप इस तरह से चल रहा है एनिमेशन के लिए के रूप में यह करने के लिए, चाहते हो सकता है, लेकिन आम तौर पर मैं बजाय अद्यतन के अपने खुद के समय को नियंत्रित करने के लिए एक देरी संदेश का उपयोग कर की सिफारिश करेंगे।)। – hsbgowd
क्या एनीमेशन चलाने पर 'ऑनड्रा()' से 'अमान्य()' को कॉल करने का कोई मौका है (जो मैं करना चाहता हूं) एक स्टैक ओवरफ़्लो का कारण बन सकता है, या रिश्ते अप्रत्यक्ष हो सकता है? –
@AndrewWyld [ExplosionAnimator.draw] देखें (https://github.com/tyrantgit/ExplosionField/blob/master/explosionfield/src/main/java/tyrantgit/explosionfield/ExplosionAnimator.java), विधि ExplosionAnimator.draw होगी View.onDraw द्वारा बुलाया जाता है, और यह सीधे अमान्य() को कॉल करता है। मेरे फोन पर, अमान्य कॉलिंग विस्फोट एनीमेशन को आसान बना देगा। PostInvalidate कभी-कभी एनीमेशन ड्रॉप फ्रेम का कारण बनता है। – Shaw