Как кэшировать представления с Android и постараться не называть onCreate каждый раз

Я думаю, что в этом случае вы можете использовать исключение try catch. Во-первых, попытайтесь обработать ответ как строку. если возникает ошибка, просто перехватите ошибку и обработайте ответ как массив.

6
задан Paul D. Waite 14 February 2013 в 11:37
поделиться

3 ответа

Если он вызывается, это означает, что ваш процесс завершился или был убит системой.

onCreate будет вызываться при каждом запуске вашей деятельности. Именно так работает жизненный цикл Activity , и вы ничего не можете с этим поделать.

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

1
ответ дан 17 December 2019 в 00:14
поделиться

Android будет обрабатывать наиболее применимые виды и кэширование активности, и вам не нужно об этом беспокоиться. Я настоятельно предупреждаю против подхода Алеккипара. Это довольно наивно и только ухудшит производительность, а также создаст утечки памяти и устранит неправильное поведение.

Если вы чувствуете, что Activity создаются слишком часто, Я бы порекомендовал убедиться, что вы используете и правильно понимаете жизненный цикл Activity. Как и в любой системе, Android балансирует между эффективностью и возможностью повторного использования, и всегда есть какие-то компромиссы.

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

6
ответ дан 17 December 2019 в 00:14
поделиться

Вы не можете предотвратить вызов onCreate при каждом создании Activity, потому что именно так все и работает.

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

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

0
ответ дан 17 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: