rememberSaveable เมื่อหมุนหน้าจอ
คงสถานะไว้เมื่อการกำหนดค่าเปลี่ยนแปลง
rememberSaveable เมื่อหมุนหน้าจอ เป็นบทเรียน Jetpack Compose Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Jetpack Compose Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
The Rotation Problem
Rotate the screen and your tap counter snaps back to zero. That is because a configuration change recreates the whole Activity.
remember Isn't Enough
remember survives recomposition, but not Activity recreation. When the Activity restarts, remembered state is gone for good.
What Triggers Recreation
Rotation, language switches, and dark-mode toggles are configuration changes. Each one tears down and rebuilds your UI from scratch.
Meet rememberSaveable
rememberSaveable works like remember but also saves the value into the saved instance state, so it survives recreation.
var count by rememberSaveable { mutableStateOf(0) }Just Swap the Call
Often the fix is a one-word change: replace remember with rememberSaveable and your counter now keeps its value after rotation.
What Can Be Saved
It saves types that fit in a Bundle out of the box: Int, String, Boolean, and other primitives. Most simple state just works.
var name by rememberSaveable { mutableStateOf("") }Custom Types Need a Saver
For your own classes, give rememberSaveable a Saver that tells it how to store and restore the object as bundle-safe data.
Data Classes Made Easy
For Kotlin data classes you can use the mapSaver or listSaver helpers, or annotate with Parcelize, to make saving simple.
@Parcelize
data class User(val name: String) : ParcelableIt Is Not Forever
rememberSaveable survives rotation and brief backgrounding, but not a full app kill. For permanent data you still need storage.
When to Reach for It
Use rememberSaveable for transient UI state you want to keep through rotation, like a counter, a typed query, or a tab index.
remember vs Saveable
Rule of thumb: use remember for cheap or recomputable values, and rememberSaveable when losing the value on rotation would annoy the user.
Quick Check
Which API keeps state through a screen rotation?
Recap
You learned that rememberSaveable keeps transient UI state alive through rotation and config changes, while remember does not. Nicely done! 🎉
คำถามที่พบบ่อย
บทเรียน “rememberSaveable เมื่อหมุนหน้าจอ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “rememberSaveable เมื่อหมุนหน้าจอ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Jetpack Compose Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “rememberSaveable เมื่อหมุนหน้าจอ”
คงสถานะไว้เมื่อการกำหนดค่าเปลี่ยนแปลง คุณปฏิบัติ Jetpack Compose Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Jetpack Compose Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Jetpack Compose Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “rememberSaveable เมื่อหมุนหน้าจอ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Jetpack Compose Academy นี้ได้ไหม
ได้ บทเรียน Jetpack Compose Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- remember และ mutableStateOf
- การประกอบใหม่: อะไรเป็นตัวกระตุ้นการวาดใหม่
- สร้างตัวนับการแตะ
- rememberSaveable เมื่อหมุนหน้าจอ