fix:尝试修复部分线上闪退 https://jira.shanqu.cc/browse/GHZS-2754

This commit is contained in:
曾祥俊
2023-06-20 17:24:57 +08:00
parent bb81d91fd5
commit b5cab193be

View File

@ -83,7 +83,7 @@ class ForumArticleAskListFragment : LazyListFragment<AnswerEntity, ForumArticleA
mListRv.setBackgroundColor(R.color.background_white.toColor(requireContext()))
mScrollCalculatorHelper = ForumScrollCalculatorHelper(R.id.horizontalVideoView, R.id.verticalVideoView, 0)
requireView().setBackgroundColor(R.color.background_white.toColor(requireContext()))
view?.setBackgroundColor(R.color.background_white.toColor(requireContext()))
mSkeletonScreen = Skeleton.bind(mBinding.listSkeleton)
.shimmer(true)
@ -142,13 +142,16 @@ class ForumArticleAskListFragment : LazyListFragment<AnswerEntity, ForumArticleA
override fun onLoadRefresh() {
super.onLoadRefresh()
requireView().setBackgroundColor(R.color.background_white.toColor(requireContext()))
// Fixhttps://sentry.shanqu.cc/organizations/lightgame/issues/288994/?project=22&query=LazyListFragment&statsPeriod=14d
// Fragment在内存泄露的情况下调用requireView()会触发崩溃这里替换为getView()方法
// TODO 解决Fragment内存泄露的问题
view?.setBackgroundColor(R.color.background_white.toColor(requireContext()))
}
override fun onLoadDone() {
super.onLoadDone()
requireView().setBackgroundColor(Color.TRANSPARENT)
AppExecutor.uiExecutor.executeWithDelay(Runnable {
view?.setBackgroundColor(Color.TRANSPARENT)
mBaseHandler.postDelayed(Runnable {
tryCatchInRelease {
scroll()
mScrollCalculatorHelper?.onScrollStateChanged(mListRv, RecyclerView.SCROLL_STATE_IDLE)
@ -158,12 +161,12 @@ class ForumArticleAskListFragment : LazyListFragment<AnswerEntity, ForumArticleA
override fun onLoadError() {
super.onLoadError()
requireView().setBackgroundColor(Color.TRANSPARENT)
view?.setBackgroundColor(Color.TRANSPARENT)
}
override fun onLoadEmpty() {
super.onLoadEmpty()
requireView().setBackgroundColor(Color.TRANSPARENT)
view?.setBackgroundColor(Color.TRANSPARENT)
}
override fun hideRefreshingLayout() {