Android 在LRUCache中保存图像时,将图像恢复到方向更改时的策略是什么
我正在使用LRUCache从服务器下载图像并显示在活动视图上。我没有将这些图像保存到永久存储器(例如SD卡)。 我的问题是,当我的方向改变时,我的LRUCache的对象被破坏,在方向改变后,我无法恢复图像Android 在LRUCache中保存图像时,将图像恢复到方向更改时的策略是什么,android,Android,我正在使用LRUCache从服务器下载图像并显示在活动视图上。我没有将这些图像保存到永久存储器(例如SD卡)。 我的问题是,当我的方向改变时,我的LRUCache的对象被破坏,在方向改变后,我无法恢复图像 在使用LRUCache之前,我将图像存储在bundle中,因此,使用onSaveInstanceState(bundle)很容易解决这个问题。但如何使用LRUCache对象实现这一点。救命啊 最简单的方法是为该页面使用片段。然后您可以执行setRetainInstance(true)以防止操作
在使用LRUCache之前,我将图像存储在bundle中,因此,使用onSaveInstanceState(bundle)很容易解决这个问题。但如何使用LRUCache对象实现这一点。救命啊 最简单的方法是为该页面使用片段。然后您可以执行
setRetainInstance(true)
以防止操作系统在配置更改时销毁片段
另一种方法是将LruCache放入应用程序派生的类中。这也是在活动之间保持持久数据的一种方法。最简单的方法是为该页面使用片段。然后您可以执行
setRetainInstance(true)
以防止操作系统在配置更改时销毁片段
另一种方法是将LruCache放入应用程序派生的类中。这也是在活动之间保持持久数据的一种方法。在onSaveInstanceState中,尝试使用
LruCache.snapshot()
获取缓存项的映射,从最少使用到最近使用。然后可以将每个键、值写入包中。然后在从捆绑包还原时,迭代每个条目并将它们放回LruCache中。在onSaveInstanceState中,尝试使用LruCache.snapshot()
获取缓存条目的映射,从最少使用到最近使用。然后可以将每个键、值写入包中。然后在从捆绑包还原时,迭代每个条目并将它们放回LruCache。创建一个单独的类,其中包含一个保存LRU类的静态变量,您的LRU不会被销毁,因为它是一个单独的引用
class MyLRU {
public static LruCache<String, Bitmap> mMemoryCache = new .....
}
创建一个单独的类,其中包含一个保存LRU类的静态变量,您的LRU不会被销毁,因为它是一个单独的引用
class MyLRU {
public static LruCache<String, Bitmap> mMemoryCache = new .....
}
伙计!谢谢但如果你能给我几行代码来演示这个,我会更方便。:)伙计!谢谢但如果您能给我几行代码来演示这一点,我会更方便。:)