Сохранение объекта Parcelable в файл в Android

Я пытаюсь сохранить ArrayList объектов ResolveInfo в файл, чтобы мне не приходилось перестраивать его каждый раз при запуске моего приложения (около 4-6 секунд). Объекты ResolveInfo являются Parcelable, но не Serializable, поэтому я получаю java.io ошибка, когда я пытаюсь записать объекты.

Я сохранил их в своем пакете saveInstanceState, но это не помогает при закрытии приложения. Я делаю что-то явно не так?


person Chris    schedule 20.08.2011    source источник


Ответы (1)


Информация saveInstance не будет сохраняться для нескольких сеансов. Вы действительно захотите реализовать Serializable, чтобы сохранить ResolveInfo.

person Phil    schedule 20.08.2011
comment
Должен ли я подклассировать ResolveInfo как что-то вроде SerializableResolveInfo, который реализует Serializble? И глядя на ResolveInfo, у него есть член типа ActivityInfo и типа IntentFilter. Должен ли я также сделать их сериализуемую версию? Это кажется огромным процессом для чего-то довольно тривиального. Есть ли другой способ кэшировать эти данные, чтобы их не нужно было каждый раз загружать? В любом случае, думаю, я продолжу этот проект, не сохраняя список, и пока разберусь с медленным стартом. - person Chris; 22.08.2011