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