我是新的。我有两个问题:
如果我将图像放入可绘制图像,则假定它在 mdpi 中,但如果我的应用程序在 xxhdpi 设备中运行,则应用程序停止发生了什么?
解决方法 1. 我将图像放在 mipmap/xxhdpi 中(仅在 xxhdpi 文件夹中),现在 xxhdpi 设备没有问题,但在 hdpi 平板电脑中(太大)图像看起来错误(丑陋) 我能做些什么来解决这个问题?
这是它在平板电脑中的外观 在 此处输入图像描述
我是新的。我有两个问题:
如果我将图像放入可绘制图像,则假定它在 mdpi 中,但如果我的应用程序在 xxhdpi 设备中运行,则应用程序停止发生了什么?
解决方法 1. 我将图像放在 mipmap/xxhdpi 中(仅在 xxhdpi 文件夹中),现在 xxhdpi 设备没有问题,但在 hdpi 平板电脑中(太大)图像看起来错误(丑陋) 我能做些什么来解决这个问题?
这是它在平板电脑中的外观 在 此处输入图像描述
将所有 .png 图像添加到
1. drawable-hdpi
2. drawable-mdpi
3. drawable-xhdpi
4. drawable-xxhdpi
它会自动适应运行它的所有设备!
答案
1.mipmap-
文件夹用于ic_launcher.png
图像(启动器图标)。
2.Android系统先在matching-density-folder中查找图片,如果在matching-density-folder中找不到图片,则从最接近的matching-density-folder中查找图片,
如果图片在比密度小,它会扩大,否则,它会缩小图像。
所以与此同时,系统使用太多内存来加载图像,这就是应用程序崩溃的原因。将图像放在每个密度文件夹中可能很无聊,但您必须为系统完成这项工作。
更好的解决方案
您可以使用 9-patch 图像或 Vector(svg) 图像。
right click on res/drawable > new > Vector Asset > select 'Local file' > Finish
提示
1. 使用 JPEG 格式的图像,它们对于应用程序来说是最小且质量足够好的。
2.如果可能的话,制作SVG文件并只将其放入drawable
文件夹一次。这将是最有效的方式。
要解决此问题,您应该根据移动设备的屏幕分辨率将图像放在相应的可绘制文件夹中。以下是参考设备名称的屏幕分辨率。
屏幕分辨率:
480x800 - drawable-hdpi - Sony Expedia
600x1024 - drawable-large-hdpi - Samsung tab2
720x1280 - drawable-xhdpi - Samsung s3
800x1280 - drawable-large-tvdpi - Nexus 7 tab
1080x1920 - drawable-xxhdpi - S4,Nexus5
1200x1920 - drawable-large-xhdpi - New nexus 7
1440X2560 - drawable-xxxhdpi - Nexus 6,Samsung S6edge
您可以创建一个九个补丁图像,该图像将为您提供所有可绘制尺寸的图像
将所有图像添加到
drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
或者
mipmap-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
它会自动适合所有设备。
如果图像太大,那么您也可以将该图像转换为小图像,然后将该图像放入
drawable-nodpi
它还将减少 apk 大小并适合所有设备,当然您也可以使用九个补丁图像,它将为您提供所有可绘制尺寸的图像。
希望对您有所帮助。