Canvas: trying to draw too large(140311688bytes) bitmap

java.lang.RuntimeException: Canvas: trying to draw too large(140311688bytes) bitmap.
	at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)
	at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:98)
	at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:545)
	at android.widget.ImageView.onDraw(ImageView.java:1342)
	at android.view.View.draw(View.java:20234)
	at android.view.View.updateDisplayListIfDirty(View.java:19109)
	at android.view.View.draw(View.java:19962)
	at android.view.ViewGroup.drawChild(ViewGroup.java:4337)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4114)
	at android.view.View.draw(View.java:20237)
	at android.view.View.updateDisplayListIfDirty(View.java:19109)
	at android.view.View.draw(View.java:19962)
	at android.view.ViewGroup.drawChild(ViewGroup.java:4337)
	at android.support.v7.widget.RecyclerView.drawChild(RecyclerView.java:4703)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4114)
	at android.view.View.updateDisplayListIfDirty(View.java:19100)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4321)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4294)
	at android.view.View.updateDisplayListIfDirty(View.java:19069)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:3361)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3158)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2527)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1500)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7342)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1036)
	at android.view.Choreographer.doCallbacks(Choreographer.java:832)
	at android.view.Choreographer.doFrame(Choreographer.java:767)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:201)
	at android.app.ActivityThread.main(ActivityThread.java:6810)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

解决办法:

1、修改imageView 需要绘制的图片大小,包括图片整体大小和图片宽高

2、bitmap进行剪裁,缩小bitmap大小后在进行imageview绘制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值