为什么我的 android 应用程序在高端设备上使用了更多内存?

Why my android application is using much more memory on high end devices?

你好,我之前问过 。从那时起,我允许更大的堆大小,并且我以正确的分辨率创建了所有图像,但我仍然有一个问题,即应用程序在三星 Galaxy S5 上使用 150 到 230 MB 的 RAM,以及相同的应用程序和相同的构建在 Lenovo A319 上仅使用 10-20 MB 的 RAM。我错过了什么?请给我解释一下。我正在清除内存并将图像回收到,这不是应用程序之前的问题。

原因是这两种设备的分辨率不同。当您将图像设置为 ImageView 并假设它是全屏时。

  1. S5 将其缩放为 1080p,因此当图像转换为 BitMap 时需要 8.2944 Mb
  2. 在 A319 (400X800) 中,全屏显示相同图像仅需 1.28Mb。

具有高分辨率的设备具有更高的 RAM,因此如果您的应用不会导致 OutOfMemoryException,您不必担心这个