解决内存泄漏2

# Conflicts:
#	modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
This commit is contained in:
wangcongtao
2021-01-08 14:57:25 +08:00
parent 14688750a6
commit 96610e886e
7 changed files with 47 additions and 47 deletions

View File

@@ -271,6 +271,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
mediator?.detach()
// 避免内存泄漏
fragment = null
mClPanelContainer = null
super.onDestroyView()
}

View File

@@ -44,6 +44,7 @@ public class V2XScenarioHistoryFragment
private RecyclerView mRecyclerView;
private V2XScenarioHistoryAdapter mV2XScenarioHistoryAdapter;
private ArrayList<V2XHistoryScenarioData> mV2XHistoryScenarioData = new ArrayList<>();
private IMoGoV2XStatusChangedListener mListener;
@Override
protected int getLayoutId() {
@@ -88,24 +89,25 @@ public class V2XScenarioHistoryFragment
});
mListener = new IMoGoV2XStatusChangedListener() {
@Override
public void onStatusChanged( V2XStatusDescriptor descriptor, boolean isTrue ) {
Logger.d( TAG, descriptor + " initViews --------> " + isTrue );
if ( descriptor == V2XStatusDescriptor.EventPanelWindow_UI ) {
mPresenter.loadHistory();
}
}
@Override
public void init( Context context ) {
Logger.d( TAG, "init --------> " );
}
};
V2XServiceManager.getMoGoV2XStatusManager()
.registerStatusChangedListener(
TAG,
V2XStatusDescriptor.EventPanelWindow_UI,
new IMoGoV2XStatusChangedListener() {
@Override
public void onStatusChanged(V2XStatusDescriptor descriptor, boolean isTrue) {
Logger.d(TAG, descriptor + " initViews --------> " + isTrue);
if (descriptor == V2XStatusDescriptor.EventPanelWindow_UI) {
mPresenter.loadHistory();
}
}
@Override
public void init(Context context) {
Logger.d(TAG, "init --------> ");
}
});
mListener );
}
/**
@@ -180,4 +182,13 @@ public class V2XScenarioHistoryFragment
protected ScenarioHistoryPresenter createPresenter() {
return new ScenarioHistoryPresenter(this);
}
@Override
public void onDestroyView() {
super.onDestroyView();
V2XServiceManager.getMoGoV2XStatusManager().unregisterStatusChangedListener( TAG,
V2XStatusDescriptor.EventPanelWindow_UI,
mListener
);
}
}