为什么“本机”部分使用大量RAM?

时间:2019-02-26 01:57:46

标签: java android native ram

Do someone have an idear why native uses so much RAM?

所有活动的用法几乎相同。如果我手动运行垃圾收集器,则可以将其总使用量减少到80MB,但“本机”使用的ram始终保持在最低60MB的最高水平。

我的Ram总记录为1,4GB(因此显示android设置),这是怎么回事?

与我的应用程序同时使用2个软件包的应用程序捆绑包有关吗?

1 个答案:

答案 0 :(得分:0)

许多Java Android API最终都会调用本机函数,因此也消耗了本机内存。例如,当使用相机拍照并在屏幕上显示预览时,所有来自相机帧缓冲区的数据处理均以本机(C或C ++)代码编写,比编写本机代码时性能更高。 Java。

那么您该怎么做才能减少本机内存使用?并不是很多,因为本机实现设计良好,并且无论如何都无法更改,但是您可以考虑以下几点:

  • 仅包含或链接您实际需要的库
  • 仅在需要的地方和时间使用库和API
  • 尽快释放资源(例如回收位图)
  • 配置API和库以减少内存使用量(如果支持)