我正在使用通用图像加载器在我的应用程序中显示列表视图中的图像。根据文档,我正在使用
然而,在我的应用程序关闭时(例如,在
我知道
所以,当用户加载和滚动列表视图时,我想拥有最快的缓存机制,并在用户不再与应用程序交互时进行缓慢的缓存清除。
有什么想法如何实现这一点吗?
UnlimitedDiscCache
,因为这是最快的缓存机制。然而,在我的应用程序关闭时(例如,在
onStop()
中),我想清除磁盘缓存,但只删除超过给定限制的最老缓存文件(就像TotalSizeLimitedDiscCache
一样)。我知道
ImageLoader.clearDiscCache()
,但在我的情况下,这将清除整个缓存,因为我之前使用了UnlimitedDiscCache
...所以,当用户加载和滚动列表视图时,我想拥有最快的缓存机制,并在用户不再与应用程序交互时进行缓慢的缓存清除。
有什么想法如何实现这一点吗?
onStop()
方法时,无法保证应用程序已经停止。这只是说明当前活动正在停止。与实现另一个缓存机制(可能会减慢应用程序)所花费的时间相比,性能损失非常小。 - Austyn Mahoneyif(isFinishing()) { do something}
- Nikola DespotoskiisFinishing()
只能告诉你当前的Activity
是否停止,而不能判断整个应用是否停止。如果你只使用一个Activity
,那么可以使用该方法,但是如果有多个Activity
,则会出现问题。 - Austyn Mahoney