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