0

У меня есть ListView, где каждый элемент состоит из нескольких TextViews и Bitmaps. Список довольно большой, и загрузка приложения начинается примерно через 5-6 секунд. Итак, я пытаюсь кэшировать данные ListView на SD-карту, так что список создается только один раз, и после этого приложение будет читать список из кеша, а не создавать список заново (я использую AsyncTask).Кэширование сложных данных ListView

Итак, я попытался кэширование ListView данных в качестве простого Serializable объекта, используя FileOutPutStream и ObjectOutputStream. Это работает отлично для простых списков, но в моем случае я не могу читать данные из кеша. Трассировка стека говорит, что объект не может быть прочитан, поскольку он не является Serializable. Как я могу хранить такие комплексные данные ListView? Я пробовал this.

+0

использование UIL (универсальный загрузчик изображений) и включить кэш экономить на диске, простоту в использовании и очень мощная библиотека –

+0

было бы легче для нас, чтобы определить, как улучшить производительность, если вы вывесили свой код адаптера, и как вы загружаете текущие данные. –

ответ

0

Вы, возможно, сделали это, но это не ясно, как я не могу видеть код: Вы должны продлить продлить Serializable в пользовательских ListView, и вы, вероятно, необходимо установить и в явной форме serialVersionUID (по крайней мере, я сделал):

public class ListView implements Serializable { 


    /** 
    * 
    */ 
    private static final long serialVersionUID = 21; 
Смежные вопросы