Android Canvas:绘制太大的位图 [英] Android Canvas: drawing too large bitmap

查看:343
本文介绍了Android Canvas:绘制太大的位图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行Ubuntu 16.04.在Android Studio上,当我尝试在模拟器中运行应用程序时,出现以下错误:

I'm running Ubuntu 16.04. And on Android Studio when I try to run my application in the emulator I get the following error:

致命异常:主要 流程:此处的项目名称,PID:2528 java.lang.RuntimeException:画布:试图绘制太大(216090000bytes)的位图. 在android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260) 在android.graphics.Canvas.drawBitmap(Canvas.java:1415) 在android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528) 在android.widget.ImageView.onDraw(ImageView.java:1316) 在android.view.View.draw(View.java:17185) 在android.view.View.updateDisplayListIfDirty(View.java:16167) 在android.view.View.draw(View.java:16951) 在android.view.ViewGroup.drawChild(ViewGroup.java:3727) 在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513) 在android.view.View.updateDisplayListIfDirty(View.java:16162) 在android.view.View.draw(View.java:16951) 在android.view.ViewGroup.drawChild(ViewGroup.java:3727) 在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)在
等等...

FATAL EXCEPTION: main Process: project name here, PID: 2528 java.lang.RuntimeException: Canvas: trying to draw too large(216090000bytes) bitmap. at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260) at android.graphics.Canvas.drawBitmap(Canvas.java:1415) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528) at android.widget.ImageView.onDraw(ImageView.java:1316) at android.view.View.draw(View.java:17185) at android.view.View.updateDisplayListIfDirty(View.java:16167) at android.view.View.draw(View.java:16951) at android.view.ViewGroup.drawChild(ViewGroup.java:3727) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513) at android.view.View.updateDisplayListIfDirty(View.java:16162) at android.view.View.draw(View.java:16951) at android.view.ViewGroup.drawChild(ViewGroup.java:3727) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513) at
etc...

我确实必须经历一些麻烦才能使仿真器正常工作,但是创建一个符号链接需要使我可以在AMD上运行该仿真器.不知道这是否是问题的一部分.对于我的一生,我不知道为什么它会继续这样做.在我的小组中,还有其他人可以在相同的模拟手机和SDK上很好地模拟项目.

I did have to run through some hoops to get my emulator working however, needed to create a sym-link so I can run the emulator on AMD. Not sure if this is part of the problem. And for the life of me I cannot figure why it continues to do this. In my group there are others who emulate the project just fine on the same emulated phone and SDK.

推荐答案

将图像在(高分辨率)可绘制中移动到 drawable-xxhdpi .但是在应用程序开发中,您无需使用大图像.它将增加您的APK文件大小.

Move your image in the (hi-res) drawable to drawable-xxhdpi. But in app development, you do not need to use large image. It will increase your APK file size.

这篇关于Android Canvas:绘制太大的位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆