如何为应用程序指定超过64 MB的内存?

时间:2018-02-27 10:55:41

标签: java android heap-memory android-memory heap-size

@Directive({ ..., selector: '[directive]', }) export class DirectiveClass implements AfterViewInit { ngAfterViewInit(): void {} } 将堆大小增加到64 MB。但我的应用程序需要的内存超过64 MB。我搜索过,但没有找到任何解决方案。我在Android开发者网站上有this。这适用于我的情况还是更合适?

1 个答案:

答案 0 :(得分:1)

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

  

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

这意味着使用largeHeap标志只会告诉Android你的应用程序是内存密集型的,需要更大的堆。在某些设备上,这意味着它可以获得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