【发布时间】:2020-02-16 17:26:20
【问题描述】:
我已将我所有的图像从文件夹 mipmap 移动到 drawable,因为这里说 mipmap 文件夹仅用于应用程序图标启动应用程序Mipmaps vs. drawable folders(答案得到 841 个赞)。但是,当我现在想启动我的应用时,我收到一条错误消息
FATAL EXCEPTION: main
Process: com.example.td.barapp, PID: 4331
java.lang.RuntimeException: Canvas: trying to draw too large(188394348bytes) bitmap.
at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)
在几个相关问题中,人们告诉将图片存储在不同的可绘制文件夹中(请参阅Android : Understanding drawable folder),例如 drawable-xxhdpi 或 drawable-xxxhdpi。
更新:有人在这篇文章中告诉我(后来删除了他的答案)将图像(大小为 1.7 MB)存储在文件夹 drawable-anydpi 中。我按照他说的做了,但是模拟器上的结果对于图像视图来说看起来很糟糕(见截图): 然后我将同一个文件移回到文件夹 mipmap-xxxhdpi 中,现在它看起来又好了。所以我现在的问题是,将图像放在 mipmap-xxxhdpi 文件夹中而不是 drawable 文件夹中是否也可以?我会为每一个建议感到高兴,因为我现在很困惑。
【问题讨论】:
-
用户外部库,Picasso 或 Glide 加载您的图像。
-
感谢海德尔的回答。由于我是 Android 编程新手,我不得不承认我不明白为什么要使用外部库来加载图像。到目前为止,如果我将图像放入 mipmap 目录,加载图像对我来说不是问题。我可以直接在 XML 代码中引用它们。 Picasso 或 Glide 有什么用?
-
好吧,您可以将它们放在 drawable-anydpi 中,但是使用外部库处理它们可以为您提供更好的服务,因为它们也提供了其他选项。
-
感谢海德尔的回答。使用此类外部库时我还有哪些其他选择?
-
您可以获得图像中心裁剪、中心圆形等选项。这是滑翔的链接github.com/bumptech/glide
标签: android android-drawable mipmaps