Android Studio Canvas:绘制太大的位图

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (171)

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

致命异常:主要流程:此处的项目名称, 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 等等...

我确实需要通过一些箍来让我的模拟器正常工作,但需要创建一个sym-link,这样我才能在AMD上运行模拟器。不确定这是否是问题的一部分。而对于我的生活,我无法理解为什么它继续这样做。在我的小组中,还有其他人在相同的模拟手机和SDK上模拟项目。

提问于
用户回答回答于

将(hi-res)drawable中的图像移动到drawable-xxhdpi。但在应用开发中,您不需要使用大图像。它会增加你的APK文件大小。

用户回答回答于

原来问题是我们当时在应用程序上使用的主要图像。图像的实际大小太大了,所以我们压缩了它。然后,==没有损失的质量和应用程序运行良好的仿真器。

扫码关注云+社区

领取腾讯云代金券