优化观众直播间PortraitLiveManager的强引用导致的内存泄漏

This commit is contained in:
zlzw 2022-12-05 17:02:53 +08:00
parent 3e7942dbd4
commit 721172d48a
3 changed files with 8 additions and 5 deletions

View File

@ -105,7 +105,7 @@ import java.util.TreeMap;
*/ */
public abstract class LiveActivity extends AbsActivity implements SocketMessageListener, LiveShareDialogFragment.ActionListener, KeyBoardHeightChangeListener { public abstract class LiveActivity extends AbsActivity implements SocketMessageListener, LiveShareDialogFragment.ActionListener, KeyBoardHeightChangeListener {
public String anyway;
public ViewGroup mContainer; public ViewGroup mContainer;
protected ViewGroup mPageContainer; protected ViewGroup mPageContainer;
protected LiveRoomViewHolder mLiveRoomViewHolder; protected LiveRoomViewHolder mLiveRoomViewHolder;
@ -618,9 +618,9 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
*/ */
@Override @Override
public void onLinkMicAnchorPlayUrl(String pkUid, String playUrl) { public void onLinkMicAnchorPlayUrl(String pkUid, String playUrl) {
if (LiveAudienceActivity.anyway == null) { if (anyway == null) {
mLiveLinkMicAnchorPresenter.onLinkMicAnchorPlayUrl(pkUid, playUrl); mLiveLinkMicAnchorPresenter.onLinkMicAnchorPlayUrl(pkUid, playUrl);
} else if (mLiveLinkMicAnchorPresenter != null && LiveAudienceActivity.anyway.equals("0")) { } else if (mLiveLinkMicAnchorPresenter != null && anyway.equals("0")) {
mLiveLinkMicAnchorPresenter.onLinkMicAnchorPlayUrl(pkUid, playUrl); mLiveLinkMicAnchorPresenter.onLinkMicAnchorPlayUrl(pkUid, playUrl);
} }
if (this instanceof LiveAudienceActivity) { if (this instanceof LiveAudienceActivity) {

View File

@ -116,7 +116,7 @@ import java.util.List;
public class LiveAudienceActivity extends LiveActivity { public class LiveAudienceActivity extends LiveActivity {
private static final String TAG = "LiveAudienceActivity"; private static final String TAG = "LiveAudienceActivity";
public static String anyway;
public JSONObject pkInfo; public JSONObject pkInfo;
public static LiveAudienceActivity liveAudienceActivity; public static LiveAudienceActivity liveAudienceActivity;

View File

@ -60,7 +60,10 @@ public class LiveMoreDialogFragment extends AbsDialogFragment {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
dismiss(); dismiss();
if (((LiveAudienceActivity) mContext).pkInfo != null && ((LiveAudienceActivity) mContext).pkInfo.getIntValue("ifpk") == 0 && ((LiveAudienceActivity) mContext).anyway.equals("1") && LiveRoomViewHolder.d_pk_view.getVisibility() != View.VISIBLE) { if (mContext instanceof LiveAudienceActivity && (((LiveAudienceActivity) mContext).pkInfo != null &&
((LiveAudienceActivity) mContext).pkInfo.getIntValue("ifpk") == 0 &&
((LiveAudienceActivity) mContext).anyway.equals("1") &&
LiveRoomViewHolder.d_pk_view.getVisibility() != View.VISIBLE)) {
((LiveAudienceActivity) mContext).btnSmallScreen.setVisibility(View.VISIBLE); ((LiveAudienceActivity) mContext).btnSmallScreen.setVisibility(View.VISIBLE);
((LiveAudienceActivity) mContext).setCurrentItem(0); ((LiveAudienceActivity) mContext).setCurrentItem(0);
((LiveAudienceActivity) mContext).getmLivePlayViewHolder().fullScreen(); ((LiveAudienceActivity) mContext).getmLivePlayViewHolder().fullScreen();