退出Activity时清理bitmap

退出LiveActivity时,清理SVGA
新增检测到触发未捕获异常闪退时,直接退出不再重新加载
优化一处LiveActivity所持有的静态view,防止内存泄漏
更新SVGAPlayer库
This commit is contained in:
2022-10-06 11:43:06 +08:00
parent 39b4a52ade
commit dd97d35851
12 changed files with 62 additions and 14 deletions

View File

@@ -34,6 +34,7 @@ import com.yunbao.common.interfaces.KeyBoardHeightChangeListener;
import com.yunbao.common.utils.KeyBoardHeightUtil2;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.utils.formatBigNum;
@@ -103,7 +104,7 @@ import java.util.Objects;
public abstract class LiveActivity extends AbsActivity implements SocketMessageListener, LiveShareDialogFragment.ActionListener, KeyBoardHeightChangeListener {
public static ViewGroup mContainer;
public ViewGroup mContainer;
protected ViewGroup mPageContainer;
protected LiveRoomViewHolder mLiveRoomViewHolder;
protected AbsLiveViewHolder mLiveBottomViewHolder;
@@ -1520,6 +1521,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
mLiveLuckGiftTipViewHolder = null;
// mMobShareUtil = null;
mImageUtil = null;
SVGAViewUtils.clearSVGA();
L.e("LiveActivity--------release------>");
Constants.isSend = "0";

View File

@@ -172,6 +172,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
mBeautySdkType = CommonAppConfig.getInstance().getBeautySdkType();
mLivePushViewHolder = new LivePushRyViewHolder(mContext, (ViewGroup) findViewById(R.id.preview_container));
mLivePushViewHolder.setLiveActivityContainer(mContainer);
mLivePushViewHolder.addToParent();
mLivePushViewHolder.subscribeActivityLifeCycle();

View File

@@ -102,6 +102,8 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
public static RCRTCRoom rtcRoom;
public static RCRTCLiveInfo rcrtcLiveInfo;
private ViewGroup liveActivityContainer;
public LivePushRyViewHolder(Context context, ViewGroup parentView) {
super(context, parentView);
this.contexts = context;
@@ -112,6 +114,9 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
return R.layout.view_live_push_ry;
}
public void setLiveActivityContainer(ViewGroup liveActivityContainer) {
this.liveActivityContainer = liveActivityContainer;
}
/**
* 主房间事件监听
@@ -194,7 +199,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
if (mLiveRyLinkMicPkPresenter != null) {
mLiveRyLinkMicPkPresenter.onLinkDRMicPkApply(userBean);
} else {
mLiveRyLinkMicPkPresenter = new LiveRyLinkMicPkPresenter(mContext, mLivePushViewHolder, true, LiveActivity.mContainer);
mLiveRyLinkMicPkPresenter = new LiveRyLinkMicPkPresenter(mContext, mLivePushViewHolder, true, liveActivityContainer);
mLiveRyLinkMicPkPresenter.onLinkDRMicPkApply(userBean);
}
} else if (extra.equals("LiveDRPK1")) {