android - Android中ListView缓存的实现方法

标签 android caching memorycache

我有一个包含大量数据的 ListView。
第一次,我从 Web 服务加载所有数据。

现在我想缓存该数据,这样,如果我再次打开该页面,我可以从缓存中获取数据,而不是再次查询网络服务。

我该怎么做?

最佳答案

我假设您将从 WebService 检索到的数据存储在一个可序列化的对象中(正如您在编辑之前在问题中所述。)

您可以将可序列化对象存储到一个文件中并稍后加载它们:

商店:

FileOutputStream fileOutputStream = yourContext.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(yourObject);
objectOutputStream.close();

加载:

FileInputStream fileInputStream = yourContext.openFileInput(fileName);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object yourObject = (Object)objectInputStream.readObject();
objectInputStream.close();

关于android - Android中ListView缓存的实现方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15154164/

相关文章:

asp.net - 从 Web API 之外的 ActionFilter 或 ASP.NET MVC Web Controller 获取 HttpRequestMessage

android - 如何动态地在 LinearLayout 上制作按钮?

java - 如何告诉代理服务器不要缓存响应?

android - 如何更改 Android WebView 中的 FontSize?

amazon-web-services - DAX 对象缓存和查询缓存不同步;没有办法告诉查询缓存驱逐坏数据?

c# - 使用缓存机制进行节流有问题吗?

asp.net - 普通缓存类和MemoryCache类有什么区别?

c# - 从类型 Object 转换匿名类型

android - 如何浏览文件并通过蓝牙将其发送到连接的设备?

java - GlideRequest引发错误,无法在构建时解析符号