很多关于 Android 开发的博客和最佳实践说
“您不需要为每种可能的密度提供位图,Android 会缩放您的位图(通常在加载时)以匹配当前密度。”
参考链接: https: //plus.google.com/105051985738280261832/posts/6eWwQvFGLV8
我试过了,效果很好。但我无法理解一件事。
例如,我在视图寻呼机中创建了一个示例应用程序,其中包含 5 个大约 1.5 MB 的全屏图像。
我为 Galaxy Tab 2 等 7 英寸 MDPI 设备创建了重图像,并将它们放在“drawable-large-mdpi”文件夹中。它有点生涩,但没有崩溃,让我滚动浏览所有图像。
现在我尝试在几乎是大型 HDPI 设备的 Nexus 7 上使用该应用程序。该应用程序在解码位图时因“OOM 错误”而崩溃。
*如果我将图像从大 MDPI 移动到大 HDPI,它在两个设备上都可以正常工作而不会出现任何崩溃。*
所以我有两个问题。
- 这个结果是否倾向于,我们只能将图形资源放在最高密度的可绘制文件夹中,并让它在其范围内自动缩小?
- 内部发生了什么,为什么它第一次崩溃?