【发布时间】:2021-09-13 19:45:35
【问题描述】:
只是好奇这两种方法之间的性能差异:
方法一:每个位置直接返回新的Fragment对象
class ProductAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount() = 5
override fun createFragment(position: Int) = ProductPageFragment() //here
}
方法二:提前准备Fragments,按位置返回
class ProductAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
private val fragments = mutableListOf<ProductPageFragment>()
init {
repeat(5) { fragments.add(ProductPageFragment()) }
}
override fun getItemCount() = 5
override fun createFragment(position: Int) = fragments[position] //here
}
【问题讨论】:
-
方法 #2 从根本上被破坏,会导致崩溃
标签: android performance android-viewpager android-jetpack android-viewpager2