# แอนิเมชัน (Flutter) > AnimationController, Tween, Curves, AnimatedBuilder, แอนิเมชันแบบ implicit, Hero - 20 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Flutter](https://sharpskill.dev/th/technologies/flutter/interview-questions.md) ## 1. AnimationController ใน Flutter คืออะไร? **คำตอบ** AnimationController คือออบเจ็กต์หลักที่ควบคุมแอนิเมชันใน Flutter โดยจะสร้างค่าระหว่าง 0.0 ถึง 1.0 ตลอดระยะเวลาที่กำหนด และอนุญาตให้เริ่ม หยุด ย้อนกลับ หรือทำซ้ำแอนิเมชันได้ มันต้องใช้ TickerProvider (ผ่าน SingleTickerProviderStateMixin หรือ TickerProviderStateMixin) เพื่อซิงโครไนซ์เฟรม ## 2. ทำไมจึงใช้ SingleTickerProviderStateMixin ใน State ที่มี AnimationController? **คำตอบ** SingleTickerProviderStateMixin มอบ Ticker เพียงตัวเดียวให้กับ State ซึ่งจำเป็นเพื่อให้ AnimationController ซิงโครไนซ์เฟรมกับเอนจินการเรนเดอร์ได้ Ticker จะส่งสัญญาณในทุกเฟรม (60 ครั้งต่อวินาที) เพื่ออัปเดตค่าของแอนิเมชัน การใช้ mixin นี้ช่วยเพิ่มประสิทธิภาพการใช้ทรัพยากรเมื่อจำเป็นต้องใช้ controller เพียงตัวเดียว ## 3. ความแตกต่างระหว่าง SingleTickerProviderStateMixin และ TickerProviderStateMixin คืออะไร? **คำตอบ** SingleTickerProviderStateMixin ได้รับการปรับให้เหมาะสมสำหรับ AnimationController เพียงตัวเดียวและใช้ทรัพยากรน้อยกว่า TickerProviderStateMixin อนุญาตให้สร้าง Ticker หลายตัวเพื่อจัดการ AnimationController หลายตัวใน State เดียวกัน ใช้ SingleTickerProviderStateMixin เมื่อ controller ตัวเดียวเพียงพอ มิฉะนั้นให้เลือก TickerProviderStateMixin ## มีอีก 17 คำถาม - Tween ใน Flutter คืออะไรและใช้ทำอะไร? - จะใช้เส้นโค้งความเร่ง (Curve) กับแอนิเมชัน Flutter ได้อย่างไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Flutter อื่นๆ - [พื้นฐาน Dart](https://sharpskill.dev/th/technologies/flutter/interview-questions/dart-basics.md): 25 คำถาม, Junior - [พื้นฐานภาษา Dart](https://sharpskill.dev/th/technologies/flutter/interview-questions/dart-language-essentials.md): 15 คำถาม, Junior - [พื้นฐาน Flutter](https://sharpskill.dev/th/technologies/flutter/interview-questions/flutter-fundamentals.md): 18 คำถาม, Junior - [วงจรชีวิตของ Widget](https://sharpskill.dev/th/technologies/flutter/interview-questions/widget-lifecycle.md): 20 คำถาม, Junior - [การจัดเก็บข้อมูลในเครื่อง](https://sharpskill.dev/th/technologies/flutter/interview-questions/local-storage.md): 20 คำถาม, Junior - [วงจรชีวิตของแอปพลิเคชัน](https://sharpskill.dev/th/technologies/flutter/interview-questions/app-lifecycle.md): 20 คำถาม, Junior - [Layouts & Constraints](https://sharpskill.dev/th/technologies/flutter/interview-questions/layouts-constraints.md): 24 คำถาม, Mid-Level - [ListView & GridView](https://sharpskill.dev/th/technologies/flutter/interview-questions/listview-gridview.md): 25 คำถาม, Mid-Level - [การนำทางและ Routing](https://sharpskill.dev/th/technologies/flutter/interview-questions/navigation-routing.md): 22 คำถาม, Mid-Level - [การจัดการ State พื้นฐาน](https://sharpskill.dev/th/technologies/flutter/interview-questions/state-management-basics.md): 22 คำถาม, Mid-Level - [Provider Pattern](https://sharpskill.dev/th/technologies/flutter/interview-questions/provider-pattern.md): 18 คำถาม, Mid-Level - [Networking & HTTP](https://sharpskill.dev/th/technologies/flutter/interview-questions/networking-http.md): 20 คำถาม, Mid-Level - [การซีเรียลไลซ์ JSON](https://sharpskill.dev/th/technologies/flutter/interview-questions/json-serialization.md): 20 คำถาม, Mid-Level - [ฐานข้อมูลในเครื่อง](https://sharpskill.dev/th/technologies/flutter/interview-questions/local-database.md): 22 คำถาม, Mid-Level - [ฟอร์มและการตรวจสอบความถูกต้อง](https://sharpskill.dev/th/technologies/flutter/interview-questions/forms-validation.md): 20 คำถาม, Mid-Level - [การผสานรวม Firebase](https://sharpskill.dev/th/technologies/flutter/interview-questions/firebase-integration.md): 18 คำถาม, Mid-Level - [การทดสอบยูนิต](https://sharpskill.dev/th/technologies/flutter/interview-questions/unit-testing.md): 20 คำถาม, Mid-Level - [การทดสอบ widget](https://sharpskill.dev/th/technologies/flutter/interview-questions/widget-testing.md): 18 คำถาม, Mid-Level - [การ Build และ Deploy](https://sharpskill.dev/th/technologies/flutter/interview-questions/build-deployment.md): 16 คำถาม, Mid-Level - [การจัดการแพ็กเกจ](https://sharpskill.dev/th/technologies/flutter/interview-questions/package-management.md): 16 คำถาม, Mid-Level - [หน่วยความจำและประสิทธิภาพ](https://sharpskill.dev/th/technologies/flutter/interview-questions/memory-performance.md): 22 คำถาม, Senior - [Streams & RxDart](https://sharpskill.dev/th/technologies/flutter/interview-questions/streams-rxdart.md): 24 คำถาม, Senior - [State Management ขั้นสูง](https://sharpskill.dev/th/technologies/flutter/interview-questions/advanced-state-management.md): 26 คำถาม, Senior - [Flutter Design Patterns](https://sharpskill.dev/th/technologies/flutter/interview-questions/flutter-design-patterns.md): 24 คำถาม, Senior - [การเพิ่มประสิทธิภาพการทำงาน](https://sharpskill.dev/th/technologies/flutter/interview-questions/performance-optimization.md): 26 คำถาม, Senior - [Platform Channels](https://sharpskill.dev/th/technologies/flutter/interview-questions/platform-channels.md): 20 คำถาม, Senior - [Custom Painting](https://sharpskill.dev/th/technologies/flutter/interview-questions/custom-painting.md): 22 คำถาม, Senior - [สถาปัตยกรรมแอปพลิเคชัน Flutter](https://sharpskill.dev/th/technologies/flutter/interview-questions/flutter-app-architecture.md): 22 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/flutter/interview-questions/animations