[6.3.0]
[bugfix] [滑动图片内存过大后重新decode]
This commit is contained in:
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user