diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt index 8800dd29b6..77be38100c 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/SlidePanelView.kt @@ -19,8 +19,11 @@ import android.view.View import android.view.animation.DecelerateInterpolator import com.magic.mogo.och.charter.R import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.util.ConvertUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager import me.jessyan.autosize.AutoSizeConfig import me.jessyan.autosize.utils.AutoSizeUtils @@ -93,6 +96,9 @@ class SlidePanelView @JvmOverloads constructor( textGradient!!.setLocalMatrix(gradientMatrix) textPaint.shader = textGradient textPaint.getFontMetrics(blockTextMetrics) + decodeImage() + } + fun decodeImage(){ ThreadUtils.getIoPool().execute { val size = AutoSizeUtils.dp2px(context, 120f) val opts = BitmapFactory.Options() @@ -227,13 +233,24 @@ class SlidePanelView @JvmOverloads constructor( ) canvas.restore() // 画滑块 - - canvas.drawBitmap( - bmBlock!!, - (BLOCK_START_X + blockOffset).toFloat(), - BLOCK_START_Y.toFloat(), - blockPaint - ) + bmBlock?.let { + if(it.byteCount >=5*1024*1024){ + OchChainLogManager.writeChainLog("崩溃兜底策略", + "图片大小监听"+ ConvertUtils.byte2FitMemorySize(it.byteCount.toLong()),true,OchChainLogManager.EVENT_KEY_INFE_ERROR); + it.recycle(); + bmBlock = null; + blockWidth = 0; + decodeImage(); + }else { + // 画滑块 + canvas.drawBitmap( + bmBlock!!, + (BLOCK_START_X + blockOffset).toFloat(), + BLOCK_START_Y.toFloat(), + blockPaint + ) + } + } } } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java index 72ca61b1c4..1c6a0823bc 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/view/SlidePanelView.java @@ -287,7 +287,6 @@ public class SlidePanelView extends View { }else { // 画滑块 canvas.drawBitmap(bmBlock, (float) (BLOCK_START_X + blockOffset), (float) BLOCK_START_Y, blockPaint); - CallerLogger.d(TAG,"图片大小监听"+ ConvertUtils.byte2FitMemorySize(bmBlock.getByteCount())); } }