[部分内存泄漏]
This commit is contained in:
yangyakun
2024-04-28 18:56:57 +08:00
parent cf0076f89b
commit 25c7ddd3f9
18 changed files with 77 additions and 58 deletions

View File

@@ -304,6 +304,9 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
@Override
public void onDestroyView() {
mapBizView.onDestroy();
if(smallMapView != null){
smallMapView.onDestroy();
}
super.onDestroyView();
CallerAutopilotRecordListenerManager.INSTANCE.removeListener(TAG);
EventBus.getDefault().unregister(this);
@@ -549,9 +552,6 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
@Override
public void onDestroy() {
super.onDestroy();
if(smallMapView != null){
smallMapView.onDestroy();
}
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().unregisterHostMapListener(TAG);
}

View File

@@ -292,6 +292,7 @@ abstract class CharterBaseFragment<V : IView?, P : Presenter<V>?>() :
override fun onDestroyView() {
mapBizView!!.onDestroy()
smallMapView?.onDestroy()
super.onDestroyView()
CallerAutopilotRecordListenerManager.removeListener(TAG)
EventBus.getDefault().unregister(this)
@@ -333,7 +334,6 @@ abstract class CharterBaseFragment<V : IView?, P : Presenter<V>?>() :
override fun onDestroy() {
super.onDestroy()
smallMapView?.onDestroy()
mogoMapListenerHandler.unregisterHostMapListener(TAG)
}

View File

@@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.biz.BuildConfig
import com.mogo.och.biz.R
import com.mogo.och.biz.login.callback.ILoginViewCallback
import com.mogo.och.biz.login.presenter.LoginPassengerPresenter
@@ -63,7 +64,9 @@ class LoginPassengerFragment : MvpFragment<LoginPassengerFragment?, LoginPasseng
actv_app_version?.text = FlavorUtils.getInfo()
actv_app_version?.setOnLongClickListener {
bv_switch_business?.selectBusniess()
if(BuildConfig.DEBUG){
bv_switch_business?.selectBusniess()
}
true
}

View File

@@ -93,6 +93,7 @@ object MediaDataSourceManager {
if (mMediaDataSourceListenerMap.containsKey(tag)) {
mMediaDataSourceListenerMap.remove(tag)
}
mLastMediaDataSourceList.clear()
}
/**

View File

@@ -307,6 +307,9 @@ public abstract class BaseShuttleTabFragment<V extends IView, P extends Presente
@Override
public void onDestroyView() {
mapBizView.onDestroy();
if(smallMapView != null){
smallMapView.onDestroy();
}
super.onDestroyView();
CallerAutopilotRecordListenerManager.INSTANCE.removeListener(TAG);
EventBus.getDefault().unregister(this);
@@ -560,9 +563,6 @@ public abstract class BaseShuttleTabFragment<V extends IView, P extends Presente
@Override
public void onDestroy() {
super.onDestroy();
if(smallMapView != null){
smallMapView.onDestroy();
}
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().unregisterHostMapListener(TAG);
}

View File

@@ -284,15 +284,15 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
@Override
public void onDestroyView() {
mapBizView.onDestroy();
if(smallMapView != null){
smallMapView.onDestroy();
}
super.onDestroyView();
CallerAutopilotRecordListenerManager.INSTANCE.removeListener(TAG);
}
@Override
public void onDestroy() {
if(smallMapView != null){
smallMapView.onDestroy();
}
super.onDestroy();
}

View File

@@ -42,22 +42,25 @@ public class TaxiAmapNaviFragment extends BaseTaxiUIFragment implements AMapNavi
@Override
protected void initViews(Bundle savedInstanceState) {
super.initViews(savedInstanceState);
if (mAMapNaviView != null)
mAMapNaviView.onCreate(savedInstanceState);
if (mAMapNaviView != null) {
mAMapNaviView.onCreate(savedInstanceState);
}
}
@Override
public void onResume() {
super.onResume();
if (mAMapNaviView != null)
mAMapNaviView.onResume();
if (mAMapNaviView != null) {
mAMapNaviView.onResume();
}
}
@Override
public void onPause() {
super.onPause();
if (mAMapNaviView != null)
mAMapNaviView.onPause();
if (mAMapNaviView != null) {
mAMapNaviView.onPause();
}
}
@Override

View File

@@ -55,8 +55,8 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
implements View.OnClickListener, ICommonNaviChangedCallback {
public static final String TAG = "OCHTaxiBeingServerd";
private static Activity mActivity;
private static TaxiFragment mTaxiFragment;
private Activity mActivity;
private TaxiFragment mTaxiFragment;
private String mOrderNo;
private volatile int mTtsLessThan200Tip = 0;//离终点200米提示播报
private OrderQueryRespBean.Result mCurrentOrder = null;
@@ -97,12 +97,12 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
private volatile int saveOrderState = -1;
public static TaxiBeingServerdOrdersFragment newInstance(Activity activity, TaxiFragment taxiFragment) {
mActivity = activity;
mTaxiFragment = taxiFragment;
Bundle args = new Bundle();
TaxiBeingServerdOrdersFragment fragment = new TaxiBeingServerdOrdersFragment();
fragment.setArguments(args);
fragment.mActivity = activity;
fragment.mTaxiFragment = taxiFragment;
return fragment;
}
@@ -434,6 +434,8 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
@Override
public void onDestroyView() {
super.onDestroyView();
mTaxiFragment = null;
mActivity = null;
AmapNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
}

View File

@@ -37,16 +37,14 @@ public class TaxiReserveOrdersFragment extends BaseTaxiUIFragment {
private View mBootRefreshNoDataView;
private List<OrderQueryRespBean.Result> mDatas = new ArrayList<>();
private ToBeServedOrdersAdapter mAdapter;
private static TaxiFragment mTaxiFragment;
private static Activity mActivity;
private TaxiFragment mTaxiFragment;
private boolean isUpwardSliding = false;
public static TaxiReserveOrdersFragment newInstance(Activity activity, TaxiFragment taxiFragment){
mActivity = activity;
mTaxiFragment = taxiFragment;
Bundle args = new Bundle();
TaxiReserveOrdersFragment fragment = new TaxiReserveOrdersFragment();
fragment.setArguments( args );
fragment.mTaxiFragment = taxiFragment;
return fragment;
}
@@ -179,4 +177,10 @@ public class TaxiReserveOrdersFragment extends BaseTaxiUIFragment {
}
}
}
@Override
public void onDestroy() {
super.onDestroy();
mTaxiFragment = null;
}
}

View File

@@ -179,6 +179,14 @@ public class TaxiServerOrdersFragment extends BaseTaxiUIFragment {
return mTabTitles[position];
}
}
@Override
public void onDestroy() {
super.onDestroy();
beingServerdOrdersFragment = null;
reserveOrdersFragment = null;
}
@RequiresApi(api = Build.VERSION_CODES.P)
public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order){
if (beingServerdOrdersFragment != null){

View File

@@ -287,16 +287,12 @@ abstract class BaseTaxiTabFragment<V : IView, P : Presenter<V>> : MvpFragment<V,
override fun onDestroyView() {
mapBizView.onDestroy()
smallMapView?.onDestroy()
startAutopilotAnimationView.cancelCountdown()
CallerAutopilotRecordListenerManager.removeListener(TAG)
super.onDestroyView()
}
override fun onDestroy() {
smallMapView?.onDestroy()
super.onDestroy()
}
/**
* 改变自动驾驶状态
*

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.FragmentTransaction
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.module.status.IMogoStatusChangedListener
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.commons.module.status.StatusDescriptor
import com.mogo.eagle.core.data.temp.EventLogout
@@ -48,6 +49,22 @@ class TaxiFragment : BaseTaxiTabFragment<TaxiFragment, TaxiPresenter>(),
private var personalDialogFragment: WeakReference<TaxiOperationalDialogFragment>? = null
private var routingVerifyFragment: WeakReference<TaxiRoutingFragment>? = null
private var moFanglistener: IMogoStatusChangedListener = object :IMogoStatusChangedListener{
override fun onStatusChanged(descriptor: StatusDescriptor?, isTrue: Boolean) {
if (StatusDescriptor.TAXI_UNMANED_DRIVER_LINE_ROUTING_VERIFY_MODE == descriptor) {
UiThreadHandler.post {
if (isTrue) {
showRoutingFragment()
} else {
showTaskFragment()
}
updateOperationBtnStatusOnModeChange(isTrue)
}
}
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLogout: EventLogout) {
if (eventLogout.messgae == EventLogout.LOGOUT_TYPE) {
@@ -153,18 +170,7 @@ class TaxiFragment : BaseTaxiTabFragment<TaxiFragment, TaxiPresenter>(),
MogoStatusManager.getInstance()
.registerStatusChangedListener(
TAG, StatusDescriptor.TAXI_UNMANED_DRIVER_LINE_ROUTING_VERIFY_MODE
) { descriptor, isTrue ->
if (StatusDescriptor.TAXI_UNMANED_DRIVER_LINE_ROUTING_VERIFY_MODE == descriptor) {
UiThreadHandler.post {
if (isTrue) {
showRoutingFragment()
} else {
showTaskFragment()
}
updateOperationBtnStatusOnModeChange(isTrue)
}
}
}
,moFanglistener)
}
private fun showTaskFragment() {
@@ -218,6 +224,8 @@ class TaxiFragment : BaseTaxiTabFragment<TaxiFragment, TaxiPresenter>(),
}
override fun onDestroyView() {
MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG,
StatusDescriptor.TAXI_UNMANED_DRIVER_LINE_ROUTING_VERIFY_MODE,moFanglistener)
super.onDestroyView()
EventBus.getDefault().unregister(this)
}

View File

@@ -204,6 +204,8 @@ public class DebugView @JvmOverloads constructor(
super.onDetachedFromWindow()
removeTaskWithOrderDataListener()
removeCurrentBusinessModeListener()
LocalBroadcastManager.getInstance(context).unregisterReceiver(broadcastReceiver)
logHistoryTextView = null
}
private fun initView() {

View File

@@ -82,14 +82,6 @@ class TaxiPassengerBaseFragment() :
overMapView.onCreateView(savedInstanceState)
overMapView.hideResetView()
(ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_VIEW_MANAGER)
.navigation() as? IStatusViewLayout)?.apply {
val statusView = getStatusView(requireContext())
if (statusView is StatusBarView) {
statusBarView = statusView
}
}
val commonService = ARouter.getInstance().build(OchCommonConst.TAXI_UNMANNED_PASSENGER).navigation();
if(commonService is CommonService){
context?.let {

View File

@@ -1,6 +1,6 @@
{
"mogo": {
"t1t2passengeroch": {
"t1t2passenger": {
"musics": [
{
"id": "1",
@@ -502,7 +502,7 @@
}
},
"saas": {
"t1t2passengeroch": {
"t1t2passenger": {
"musics": [
{
"id": "1",

View File

@@ -2,8 +2,7 @@
"mogo": {
"B1":["shuttle","bus"],
"B2":["shuttle","bus"],
"T1T2":["taxi"],
"M1":["charter"]
"T1T2":["taxi"]
},
"dali": {
"B1":["shuttle"],
@@ -19,6 +18,6 @@
"T1T2":["taxi"],
"B1":["shuttle","bus"],
"B2":["shuttle","bus"],
"M1":["charter"]
"M1":["charter","shuttle"]
}
}

View File

@@ -3,8 +3,7 @@
"C1":["driver"],
"B1":["driver","passenger"],
"B2":["driver","passenger"],
"T1T2":["driver","passenger"],
"M1":["driver","passenger"]
"T1T2":["driver","passenger"]
},
"dali": {
"B1":["driver","passenger"],

View File

@@ -663,10 +663,12 @@ class OverMapView @JvmOverloads constructor(
CallerPlanningRottingListenerManager.removeListener(TAG)
CallerV2XListenerManager.removeListener(TAG)
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerFuncBizListenerManager.removeListener(TAG)
frequentHandler?.looper?.quitSafely()
nonFrequentHandler?.looper?.quitSafely()
frequentHandler = null
nonFrequentHandler = null
callback = null
}
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {