RVDelegate内存泄漏问题解决
This commit is contained in:
@@ -35,7 +35,6 @@ class DecorationCommonFragment : BaseViewBindingFragment<FragmentDecorationCommo
|
||||
|
||||
private val dressType: Int by lazy { requireArguments().getInt("dressType") }
|
||||
private lateinit var rvDelegate: RVDelegate<DecorationInfo>
|
||||
private lateinit var decorationAdapter: DecorationCommonAdapter
|
||||
private val decorationViewModel: DecorationViewModel by viewModels()
|
||||
|
||||
override fun init() {
|
||||
@@ -44,7 +43,7 @@ class DecorationCommonFragment : BaseViewBindingFragment<FragmentDecorationCommo
|
||||
if (it) dialogManager.showProgressDialog(mContext)
|
||||
else dialogManager.dismissDialog()
|
||||
}
|
||||
decorationAdapter = if (dressType == DecorationStoreActivity.TAB_USER_CARD) {
|
||||
val decorationAdapter = if (dressType == DecorationStoreActivity.TAB_USER_CARD) {
|
||||
DecorationCommonAdapter(R.layout.item_decoration_user_card)
|
||||
} else {
|
||||
DecorationCommonAdapter()
|
||||
@@ -101,9 +100,10 @@ class DecorationCommonFragment : BaseViewBindingFragment<FragmentDecorationCommo
|
||||
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
EventBus.getDefault().removeStickyEvent(DecorationInfoEvent::class.java)
|
||||
rvDelegate.onDestroyView()
|
||||
}
|
||||
|
||||
}
|
@@ -31,7 +31,6 @@ class RoomSingleFragment : BaseViewBindingFragment<FragmentRoomSingleBinding>()
|
||||
}
|
||||
}
|
||||
|
||||
private lateinit var adapter: MoreSingleAnchorAdapter
|
||||
private lateinit var rvDelegate: RVDelegate<HomeRoomInfo>
|
||||
|
||||
private val pageSize = Int.MAX_VALUE
|
||||
@@ -42,9 +41,8 @@ class RoomSingleFragment : BaseViewBindingFragment<FragmentRoomSingleBinding>()
|
||||
private val id: Long? by lazy { requireArguments().getLong("id") }
|
||||
|
||||
override fun init() {
|
||||
adapter = MoreSingleAnchorAdapter()
|
||||
rvDelegate = RVDelegate.Builder<HomeRoomInfo>()
|
||||
.setAdapter(adapter)
|
||||
.setAdapter(MoreSingleAnchorAdapter())
|
||||
.setRecyclerView(binding.recyclerView)
|
||||
.setRefreshLayout(binding.refreshLayout)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间"))
|
||||
@@ -74,9 +72,10 @@ class RoomSingleFragment : BaseViewBindingFragment<FragmentRoomSingleBinding>()
|
||||
EventBus.getDefault().register(this)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
EventBus.getDefault().unregister(this)
|
||||
rvDelegate.onDestroyView()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
@@ -125,6 +125,13 @@ public class RVDelegate<T> {
|
||||
}
|
||||
}
|
||||
|
||||
public void onDestroyView(){
|
||||
recyclerView = null;
|
||||
refreshLayout = null;
|
||||
emptyView = null;
|
||||
adapter = null;
|
||||
dataStatus = null;
|
||||
}
|
||||
|
||||
public static class Builder<T> {
|
||||
private BaseQuickAdapter<T, ? extends BaseViewHolder> adapter;
|
||||
|
Reference in New Issue
Block a user