From e5838c0aef724c7994f980ffa8f55cf6c986cb10 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 28 Mar 2024 14:26:50 +0800 Subject: [PATCH] =?UTF-8?q?[6.3.0]=20[bugfix]=20[=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=86=85=E5=AD=98=E8=BF=87=E5=A4=A7=E5=90=8E?= =?UTF-8?q?=E9=87=8D=E6=96=B0decode]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/charter/view/SlidePanelView.kt | 31 ++++++++++++++----- .../com/mogo/och/bus/view/SlidePanelView.java | 1 - 2 files changed, 24 insertions(+), 8 deletions(-) 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())); } }