2012-10-04 12 views
21

को कम करता है इसलिए मुझे एनीमेशन समस्याएं आ रही हैं खासकर जब दो एनिमेशन एक गतिविधि लोड होने पर एक बार या दाएं होते हैं। मैं समझता हूं कि यह शायद संसाधन संसाधन है और मुख्य धागे में कई चीजें चल रही हैं जिससे एनीमेशन स्टटर हो गया है।एंड्रॉइड एनीमेशन स्टटर/चटनी/अंतराल

मैंने पाया एक जोड़े दिलचस्प सुझाव:
1. धागे (ThreadPoolExecutor)
यहाँ:How do I make my animation smoother Android
2. setDrawingCacheEnabled (सही)
यहाँ:How does Android's setDrawingCacheEnabled() work?
3. ViewGroup: animationCache = सच
यहां: http://www.curious-creature.org/2010/12/02/android-graphics-animations-and-tips-tricks/

हालांकि मैं इन चीजों को लागू करने के लिए किसी भी प्रकार के उदाहरण नहीं ढूंढ पा रहा हूं। कोई विचार?

+0

AsyncTasks भी पृष्ठभूमि धागे को लागू करने के लिए एक आसान तरीका है। यदि आप मुख्य धागे में बहुत सी गणना करते हैं, तो आपको निश्चित रूप से थ्रेड या एसिंक्टास्क को लागू करने की आवश्यकता है, मुख्य धागा यूआई के लिए यहां है, भारी भारोत्तोलन नहीं। – Teovald

+0

हाँ, मुझे पता है, मैं थ्रेड/AsyncTasks – Rawr

उत्तर

8

मैं इन जब हकलाना को कम करने के महत्व के क्रम में सूचीबद्ध नियमों का पालन करके मेरी एनिमेशन पर हकलाना की राशि कम कर दिया है:

  1. onCreate, onStart या onResume में एनिमेशन आरंभ न करें।
  2. onClick जैसे उपयोगकर्ता ईवेंट पर एनिमेशन आरंभ करें और एनीमेशन पूर्ण होने तक स्पर्श ईवेंट अक्षम करें।
  3. अधिक से अधिक 2 एनिमेशन आरंभ न करें एक साथ
+0

के साथ उपयोग किए जा रहे एनिमेशन पर उदाहरणों की अधिक तलाश कर रहा हूं, हम एनीमेशन पूर्ण होने तक उपयोगकर्ता इंटरैक्शन कैसे रोक सकते हैं .?? " –

+0

जब आप एनीमेशन शुरू करते हैं, तो एनिमस्टार्ट = 1 जैसे वैरिएबल सेट करें, और जब आप बटन प्रेस इत्यादि को संभालने जा रहे हैं तो उस चर को जांचें। उदाहरण के लिए यदि आप एक परत ले जा रहे हैं, तो आप नहीं चाहते कि उपयोगकर्ता बटन दबा रहे हों परत फिर से स्थिति है। तो चर सेट करें, और एनीमेशन समाप्त होने पर इसे अनसेट करें – Rawr

+0

इसे प्राप्त करने का सबसे अच्छा तरीका क्या होगा? और अगर गतिविधि लोड हो रही है तो मुझे एनिमेट करने की आवश्यकता है? – Si8

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