-6

largeHeapSize = true将堆大小增加到 64 mb。但我的应用程序需要超过 64 mb 的内存。我已经搜索并没有找到任何解决方案。我在 android 开发者网站上有这个。这适用于我的情况还是更合适?

4

1 回答 1

1

largeHeap = "true"不会将堆大小增加到或增加 64 MB:

大多数应用程序不应该需要这个,而是应该专注于减少它们的整体内存使用以提高性能。启用此功能也不能保证可用内存的固定增加,因为某些设备受到其总可用内存的限制。来源,强调我的)。

这意味着使用largeHeap标志只是告诉 Android 你的应用程序是内存密集型的并且需要更大的堆。在某些设备上,这意味着它可以获得 200-300 MB,而在其他设备上则为 50 MB。这取决于可用内存。

另外,你的app获得的内存是由系统决定的,不能手动设置。Android上没有Xmx标志或类似的东西。`

TL;DR:您不能像在桌面 Java 上那样指定特定的堆大小。UsinglargeHeap不会为您的应用程序提供固定数量的内存;这取决于设备和可用内存。并且尽可能节省内存而不是像largeHeap状态文档那样请求更多(Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance

于 2018-02-27T11:08:08.383 回答