微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 确定Android上的可用内存

所以 Android的挑战之一就是各种设备规格(特别是设备内存).

我写了我的模型对象,以懒惰的方式广泛地使用Java SoftReferences,因此,VM可以自由修剪当前所使用的数据模型的当前部分,并根据需要进行重构.

然而,SoftReferences在实践中的一个挑战是,它们在几秒钟内就被清除为弱引用,而不是挂起来,直到VM内存不足,所以它们在允许模型修整方面工作得很好,但是它们不能正常工作,因为它通常意味着什么都不记忆.理想情况下,在具有大量内存的设备上,您可以让用户从保存内存中获益.

因此,将SoftReferences与LRU机制组合在一起是常见的,LRU机制保留了对最近引用的对象的硬指针.这当然不是理想的,因为它假定你有足够的内存用于所有这些几乎不被引用的对象.

这也是一个挑战,知道什么是LRU的良好认.

一个完美的世界中,Android会使用它的低内存回调作为提示(所以我可以从一个小的LRU开始,并定期碰撞,直到低内存回调开始发生,然后关闭,以找到一个很好的设备的价值),但在我的经验中,这种回调似乎与实际的VM内存压力一致.

有没有人遇到过一种合理的方式来检测您的数据模型是否在特定设备上使用太多的内存?

解决方法

如果你想确定android中的可用内存,那么你可以检查或进入 透视图 – > ddms 2)第二件事是你可以使用内存分析器工具检查使用和未使用的内存,还可以检查 内存可用性

原文地址:https://www.jb51.cc/android/125665.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐