我正在运行Ubuntu 16.04.在Android Studio上,当我尝试在模拟器中运行我的应用程序时,我收到以下错误:
致命异常:主要进程:项目名称,PID:2528 java.lang.RuntimeException:Canvas:尝试绘制太大(216090000bytes)的位图.在Android.graphics.Cravas.drawBitmap(Canvas.java:1415)上的android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)在Android上的android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528).在Android.view.View.draw.draw的android.view.View.View.Starts上的android.view.View.View.David(View.java:16167)上的widget.ImageView.onDraw(ImageView.java:1316) (View.java:16951)位于android.view.View.View.DavidDisplayListIfDirty的android.view.ViewGroup.DispatchDraw(ViewGroup.java:3513)上的android.view.ViewGroup.drawChild(ViewGroup.java:3727)(View.java: 16162)在android.view.View.draw(View.java:16951)的android.view.ViewGroup.drawChild(ViewGroup.java:3727)在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513)
等处. ..
我确实需要通过一些箍来让我的模拟器正常工作,但需要创建一个sym-link,这样我才能在AMD上运行模拟器.不确定这是否是问题的一部分.而对于我的生活,我无法理解为什么它继续这样做.在我的小组中,还有其他人在相同的模拟手机和SDK上模拟项目.
Md *_*ury 149
将(hi-res)drawable中的图像移动到drawable-xxhdpi.但在应用开发中,您不需要使用大图像.它会增加你的APK文件大小.
Web*_*str 31
解决方案是将图像从drawable/文件夹移动到drawable-xxhdpi/文件夹,其他人也提到过。
但重要的是还要理解为什么这个有点奇怪的建议实际上有帮助:
原因是该drawable/文件夹存在于早期版本的 android 中,相当于drawable-mdpi. 当drawable/在xxhdpi设备上使用仅位于文件夹中的图像时,可能已经很大的图像会被放大 3 倍,这在某些情况下会导致图像的内存占用量爆炸式增长。
小智 14
该问题可以通过以下3种方法解决:
方法 1: 将图像添加到 res/drawable-nodpi 文件夹中(这样做不会预先缩放图像)。
方法2: 生成图像的所有dpi(hdpi,ldpi,mdpi,xhdpi,xxhdpi,xxxhdpi)并添加到drawable文件夹中。(此过程会增加 APK 大小)。
方法3: 将图像添加到drawable/drawable-xxhdpi文件夹中。
这些方法都经过验证。
Abd*_*shi 13
这个解决方案对我有用。
在您的清单应用程序标签中添加这些行
android:largeHeap="true"
android:hardwareAccelerated="false"
Run Code Online (Sandbox Code Playgroud)
小智 10
我有同样的问题.如果您尝试在某些低分辨率设备上上传过大的图片,则应用会崩溃.您可以制作不同大小的图像(hdpi,xxdpi等),或者只使用外部库来加载快速有效地解决问题的图像.我使用了Glide库(你可以使用像Picasso这样的另一个库).
panel_IMG_back = (ImageView) findViewById(R.id.panel_IMG_back);
Glide
.with(this)
.load(MyViewUtils.getImage(R.drawable.wallpaper)
.into(panel_IMG_back);
Run Code Online (Sandbox Code Playgroud)
对于这个错误,就像其他人所说的一个大图像(1800px X 900px),它位于可绘制目录中,我编辑了图像并使用 Photoshop 按比例缩小了尺寸,它起作用了......!!