我有ListView
,其中每个项目由多个TextViews
和Bitmaps
组成。该列表非常大,启动应用程序时加载大约需要5-6秒。所以,我正在尝试将ListView
数据缓存到我的SD卡中,以便列表只创建一次,之后,应用程序将从缓存中读取列表,而不是重新创建列表(我正在使用AsyncTask
)。
因此,我尝试使用ListView
和Serializable
将FileOutPutStream
数据缓存为简单的ObjectOutputStream
对象。这适用于简单列表,但在我的情况下,我无法从缓存中读取数据。堆栈跟踪表示无法读取对象,因为它不是Serializable
。如何存储此类复杂的ListView
数据?到目前为止,我已尝试this。
答案 0 :(得分:0)
您可能已经这样做了,但由于我无法看到您的代码,因此不清楚:您必须在自定义Serializable
中延伸ListView
,而您&# 39; ll可能需要设置和明确serialVersionUID
(至少我做过):
public class ListView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 21;