Pull to refresh

Comments 14

Я не так давно оторвался от нуля в разработке под Android)) Хоть и мое приложение будет очень легким — все равно сохраню в закладки, проверю, когда оно будет готово)
Спасибо!
Спасибо за статью!
Минутка рекламы хорошего сервиса, для тех, кто печется о производительности android приложений: https://nimbledroid.com/
логинилка через гугл не работает у вас
Добрый день, если есть желание, напишите пожалуйста в личку свою почту / ОС / браузер, попробуем разобраться почему у Вас не работает.
Фокус в том, чтобы сначала вбить почту и пароль.
"Hooray! No Memory Leaks Found!" <- эту фразу надо вынести в шапку!
Правда дальше второго шага по иерархии UI уйти не шмогла ). На досуге еще поэксперементирую, интересно, спасибо.
Если будут вопросы, то пишите, постараюсь ответить. На самом деле можно много интересного найти :) Правда часто проблемы в SDK и даже не понятно чего с этим делать, яркий тому пример это TapJoy, очень сильно замедляет старт… Может напишу пост тут в скором времени об этом.
Ну, раз просите добавить, добавлю немного по оптимизации кода
  1. Static everywhere. Если нет нужды использовать внутренние поля объекта (инстанса) — непременно ставьте static. Вызов становится на 15-20 процентов быстрее.
  2. Экономия на геттерах — сеттерах. Прямой доступ к полю класса быстрее геттера-сеттера в 3-7 раз (без JIT и с JIT). Поэтому во внутренних методах класса — лучше прямое обращение к полю. Если геттер-сеттер стоит в цикле — тем более.
  3. Операции с float на Android в два раза медленнее операций с int
  4. Массив примитивов намного быстрее массива объектов. К примеру, два массива int намного быстрее, чем массив объектов (int, int)

Это из руководства Google, там есть ещё несколько советов, которые я счёл более экзотическими или слишком очевидными.
пункт 4 следует развернуть так — избегайте создания любых кратковременных служебных объектов. Где есть необходимость в оптимизации — эмулируйте за счёт примитивов или уже имеющихся объектов.
Так, два параллельных массива объектов Foo() и Bar() будут работать намного быстрее, чем один массив объектов класса FooBar — матрёшки, который содержит в себе Foo() и Bar()
Точно, статики! забыл упомянуть. Убирание геттеров и сеттеров почему-то сочли незначительным ускорением (хотя про них везде пишут), но ваши цифры впечатлили.
Добавил оба пункта "под укроп".
Спасибо! Особенно за цифры.
Никто не упомянул библиотеку для отлавливания memory leak-ов от square — leakcanary.
Все, что нужно сделать, — добавить одну строчку в класс Application
LeakCanary.install(this);

Далее прямо на девайсе будут показываться утечки. Подробнее уже писали на хабре.
image
спасибо, затестирую в ближайшем проекте
Sign up to leave a comment.

Articles