您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

什么时候使用WeakHashMap或WeakReference?

什么时候使用WeakHashMap或WeakReference?

强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免一次在内存中拥有(可能是巨大的)图像的两个副本的可能性。

因为图像缓存应该阻止我们在绝对不需要时重新加载图像,所以你将很快意识到,缓存应始终包含对内存中已存在的任何图像的引用。但是,对于普通的强引用,该引用本身将迫使图像保留在内存中,这要求你以某种方式确定何时不再需要该图像,并将其从缓存中删除,从而使其有资格进行垃圾回收。你被迫复制垃圾回收器的行为,并手动确定对象是否应该在内存中。

其他 2022/1/1 18:18:23 有519人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶