【问题标题】:Caching a complex ListView data缓存复杂的 ListView 数据
【发布时间】:2015-02-23 02:33:09
【问题描述】:

我有一个ListView,其中每个项目由多个TextViewsBitmaps 组成。该列表非常大,启动应用程序时加载大约需要 5-6 秒。所以,我正在尝试将ListView 数据缓存到我的 SD 卡中,以便只创建一次列表,之后,应用程序将从缓存中读取列表,而不是重新创建列表(我m 使用AsyncTask)。

所以,我尝试使用FileOutPutStreamObjectOutputStreamListView 数据缓存为简单的Serializable 对象。这适用于简单列表,但在我的情况下,我无法从缓存中读取数据。堆栈跟踪显示无法读取该对象,因为它不是Serializable。如何存储如此复杂的ListView 数据?到目前为止,我已经尝试过this

【问题讨论】:

  • 使用 UIL(通用图像加载器)并在磁盘上启用缓存保存,易于使用和非常强大的库
  • 如果您发布了适配器代码,我们将更容易确定如何提高您的性能,以及如何加载当前数据。

标签: android caching android-listview fileoutputstream objectoutputstream


【解决方案1】:

您可能已经这样做了,但不清楚,因为我看不到您的代码:您必须在您的自定义 ListView 中扩展扩展 Serializable,并且您可能需要设置和明确的 serialVersionUID (至少我做到了):

public class ListView implements Serializable {


    /**
     * 
     */
    private static final long serialVersionUID = 21;

【讨论】:

    猜你喜欢
    • 2016-01-19
    • 1970-01-01
    • 2014-01-25
    • 2011-01-17
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多