我有一个ListView,其中每个项目是由多个TextViews和Bitmaps组成。这个列表相当大,当应用程序启动时,需要大约5-6秒的时间来加载。因此,我尝试将ListView数据缓存到我的SD卡中,以便列表只创建一次,之后,应用程序将从缓存中读取列表,而不是重新创建列表(我使用的是AsyncTask)。
因此,我尝试使用FileOutPutStream和ObjectOutputStream将ListView数据作为简单的Serializable对象进行缓存。这对于简单的列表很有效,但是在我的例子中,我无法从缓存中读取数据。堆栈跟踪显示无法读取该对象,因为它不是Serializable。如何存储如此复杂的ListView数据?到目前为止,我已经尝试过this。
发布于 2014-12-25 17:39:06
您可能已经这样做了,但这并不清楚,因为我看不到您的代码:您必须在自定义ListView中扩展扩展Serializable,并且可能需要设置和显式serialVersionUID (至少我这样做了):
public class ListView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 21;https://stackoverflow.com/questions/27645957
复制相似问题