2014-09-02 5 views
2

Существует один Activity, одностороннее меню и множество Fragment s. когда я выбрал меню в боковом меню, в действие добавлен конкретный Fragment, а предыдущий удаляется. В этом приложении мне нужно кэшировать объект Fragment? или просто воссоздать новый Fragment каждый раз, когда я выбрал меню? какая из них лучше?Является ли кеширование фрагмента хорошей практикой?

+0

см. Http://stackoverflow.com/questions/11291739/how-to-cache-a-fragment-view –

ответ

3
do I have to cache Fragment object? 

Помните, что если вы кэшировать фрагмент с множественным зрения внутри него, это может стоить вам память, которая может привести к OutOfMemoryException, что ваша куча заполнена, и вы выделения памяти с другим фрагментом.

or just recreate new Fragment every time I selected menu? which one is better? 

Если фрагмент не имеет много зрения на него, то я бы кэшировать только 1 или 2-фрагмент с каждой стороны.

Допустим, у вас есть 5 фрагментов (1 - 2 - - 4 - 5), и вы в настоящее время в 3rd fragment я только кэшировать второй и 4-й фрагмент но а не 1st and 5th fragment, но если я изменил фрагмент на то я бы кэшировать 3rd and 5th fragment и удалить кэшированные второго фрагмента. Теперь, если вы сделаете это, то вы сэкономите время, показывая его снова на экран. Но всегда помните, что это может стоить вам памяти.

Если вы хотите использовать приложение с памятью, предназначенное для устройства с меньшим размером кучи, затем создайте фрагмент каждый раз при выборе меню.

+0

Большое спасибо. – Cinakyn

+0

@Cinakyn приветствуется, и счастливое кодирование :)) –

Смежные вопросы