gpt4 book ai didi

android - LruCache 是否在内存不足时释放条目?

转载 作者:行者123 更新时间:2023-11-30 02:58:59 28 4
gpt4 key购买 nike

我不能完全理解 LruCache 的内存管理组件。

从某种意义上说,我希望它能充当 iOS 平台上的 NSCache(最近刚刚从该操作系统中学到了一些知识)。

如果应用程序内存不足,LruCache 是否释放条目?

或者如果我设置了 LruCache 的最大条目/大小,那么它将始终占用空间并且在达到该条目/大小之前不会释放它?

我不希望正在构建的第三方库占用用户的必要资源。

我该怎么做?

最佳答案

这是来自 2012 年 Google I/O 的视频,其中解释了 LRU 缓存(3:00)。他进一步探讨了操作系统在低内存上做什么的话题:

http://www.youtube.com/watch?v=gbQb1PVjfqM

我不认为操作系统会清除低内存上的缓存条目,因为它会从它(应用程序)可能需要的应用程序中窃取资源。操作系统可能不知道应用程序使用了缓存中的哪些项目。它会杀死最近最少使用和/或内存消耗最高的后台应用程序。
顺便说一句:如果内存不足,您可以通过实现 onTrim() 回调主动帮助操作系统调整 LRU 的大小。您可以在 youtube 视频和此处找到更多信息:

http://developer.android.com/training/articles/memory.html#ReleaseMemoryAsTight

希望这有帮助:)

关于android - LruCache 是否在内存不足时释放条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22837006/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com