2014-02-20 2 views
0

Этот вопрос прослушивал меня некоторое время.Быстрый способ создания вида

Идея состоит в том, что я хочу использовать способ рисования/создания представления в быстром режиме. Я читал, что XML-макет имеет больше преимуществ, чем динамический.

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

Моя цель?

Скажите, есть ли у меня разные действия в приложении для Android; во второй раз, когда я посещаю мероприятие, я хочу, чтобы он «рендерил» быстрее, чтобы оптимизировать производительность и удобство использования. Есть ли способ, например, кэширование или любой другой способ? Или я застрял в повторном создании каждого вида деятельности с нуля из XML Layout или программно?

Заранее спасибо за любые мысли ..

+0

что на самом деле вы хотите сделать? – pskink

ответ

1

во второй раз я посещаю деятельность, я хочу, чтобы «оказывать» быстрее, чтобы оптимизировать производительность и удобство использования

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

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

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

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

+0

Это хороший ответ. У вас есть идея, если я передам экземпляр объектов и сохранил их в другом классе, и когда я вернусь к конкретному действию, я сброшу содержимое просмотра из экземпляра макета, сохраненного ранее, значительно быстрее, чем повторное создание Это? @CommonsWare – Odin

+0

@ Крис: Я понятия не имею, что такое «объекты». Беспокоитесь о существующих проблемах производительности, а затем используйте инструменты, чтобы определить, где эти проблемы производительности. Случайно догадываясь о потенциальных проблемах, то случайное угадывание относительно потенциальных решений напрасно тратит ваше время. – CommonsWare

+0

Объекты, например, Button, TextView, LinearLayout и т. Д. Я знаю, что до сих пор это несуществующая проблема; Но я просто подумал, есть ли способ, которым вид/макет может быть предварительно загружен или загружен из кеша @CommonsWare – Odin

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