7
FragmentPagerAdapter และ FragmentStatePagerAdapter แตกต่างกันอย่างไร
ความแตกต่างระหว่างFragmentPagerAdapterและFragmentStatePagerAdapterคืออะไร? เกี่ยวกับFragmentPagerAdapterคำแนะนำของ Google พูดว่า: เพจเจอร์รุ่นนี้เหมาะที่สุดสำหรับการใช้งานเมื่อมีชิ้นส่วนแบบสแตติกจำนวนหนึ่งที่จะถูกเพจผ่านเช่นกลุ่มแท็บ แฟรกเมนต์ของแต่ละหน้าที่ผู้ใช้เยี่ยมชมจะถูกเก็บไว้ในหน่วยความจำแม้ว่าลำดับชั้นการดูอาจถูกทำลายเมื่อมองไม่เห็น สิ่งนี้สามารถส่งผลในการใช้หน่วยความจำจำนวนมากเนื่องจากอินสแตนซ์ของแฟรกเมนต์สามารถคงอยู่ในสถานะที่กำหนดเองได้ FragmentStatePagerAdapterสำหรับชุดขนาดใหญ่ของหน้าพิจารณา และเกี่ยวกับFragmentStatePagerAdapter: เพจเจอร์รุ่นนี้มีประโยชน์มากกว่าเมื่อมีเพจจำนวนมากทำงานได้คล้ายกับมุมมองรายการ เมื่อผู้ใช้ไม่สามารถมองเห็นหน้าส่วนของพวกเขาทั้งหมดอาจถูกทำลายเพียงรักษาสถานะที่บันทึกของส่วนที่ สิ่งนี้ทำให้เพจเจอร์เก็บหน่วยความจำน้อยลงที่เกี่ยวข้องกับเพจที่เยี่ยมชมแต่ละเพจเมื่อเปรียบเทียบกับ FragmentPagerAdapterค่าใช้จ่ายที่อาจมีค่าใช้จ่ายมากกว่าเมื่อสลับระหว่างเพจ ดังนั้นฉันมีเพียง 3 ชิ้น แต่ทั้งหมดเป็นโมดูลแยกต่างหากที่มีข้อมูลจำนวนมาก Fragment1จัดการข้อมูลบางส่วน (ซึ่งผู้ใช้ป้อน) และผ่านทางกิจกรรมเข้าซึ่งเป็นเพียงง่ายๆFragment2 นอกจากนี้ยังมีListFragmentFragment3ListFragment ดังนั้นคำถามของฉันคือ : ฉันควรใช้อะแดปเตอร์ใด FragmentPagerAdapterหรือFragmentStatePagerAdapter?