如何为应用程序指定超过 64 MB 的内存?
How to specify more than 64 mb memory for an application?
largeHeapSize = true
将堆大小增加到 64 MB。但是我的应用程序需要超过 64 MB 的内存。我已经搜索并没有找到任何解决方案。我在 android 开发者网站上有 this。这适用于我的情况还是哪个更合适?
largeHeap = "true"
不会将堆大小增加到 64 MB 或增加 64 MB:
Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance. Enabling this also does not guarantee a fixed increase in available memory, because some devices are constrained by their total available memory. (source, emphasis mine).
这意味着使用 largeHeap
标志只是告诉 Android 您的应用程序是 memory-intensive 并且需要更大的堆。在某些设备上,这意味着它可以获得 200-300 MB,在其他设备上则为 50 MB。这取决于空闲内存。
另外,您的应用获取的内存由系统决定,您无法手动设置。 Android 上没有 Xmx
标志或类似标志。 `
TL;DR: 您不能像在桌面 Java 上那样指定特定的堆大小。使用 largeHeap
不会为您的应用程序提供固定数量的内存;这取决于设备和可用内存。尽可能节省内存,而不是像 largeHeap
状态 (Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance
)
的文档那样请求更多内存
largeHeapSize = true
将堆大小增加到 64 MB。但是我的应用程序需要超过 64 MB 的内存。我已经搜索并没有找到任何解决方案。我在 android 开发者网站上有 this。这适用于我的情况还是哪个更合适?
largeHeap = "true"
不会将堆大小增加到 64 MB 或增加 64 MB:
Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance. Enabling this also does not guarantee a fixed increase in available memory, because some devices are constrained by their total available memory. (source, emphasis mine).
这意味着使用 largeHeap
标志只是告诉 Android 您的应用程序是 memory-intensive 并且需要更大的堆。在某些设备上,这意味着它可以获得 200-300 MB,在其他设备上则为 50 MB。这取决于空闲内存。
另外,您的应用获取的内存由系统决定,您无法手动设置。 Android 上没有 Xmx
标志或类似标志。 `
TL;DR: 您不能像在桌面 Java 上那样指定特定的堆大小。使用 largeHeap
不会为您的应用程序提供固定数量的内存;这取决于设备和可用内存。尽可能节省内存,而不是像 largeHeap
状态 (Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance
)