Уничтожать activities после их завершения что это

[Прочее] Оптимизируем MIUI: отключаем фоновую запись действий пользователя на Xiaomi (Redmi)

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

IMG_20200522_104403-840×525.png (89.06 KB, Downloads: 0)

2020-05-30 21:34:31 Upload

Чем глубже изучаешь MIUI на Xiaomi (Redmi), тем больше понимаешь как много функций возможно отключить, или перенастроить, чтобы улучшить автономность телефона, увеличить его производительность и добиться более предсказуемой и плавной работы.

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

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

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

Прежде всего необходимо получить права разработчика: Настройки / О телефоне / Нажимаем на ВЕРСИЯ MIUI нескольео раз, пока не появится надпись на экране ВЫ СТАЛИ РАЗРАБОТЧИКОМ.

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

4.jpg (277.21 KB, Downloads: 0)

2020-05-30 21:29:00 Upload

После этого: Настройки / Расширенные настройки /Для разработчиков / Трассировка системы
Теперь оключаем функцию ЗАПИСЫВАТЬ ДЕЙСТВИЯ ПРИЛОЖЕНИЙ, ДОСТУПНЫХ ДЛЯ ОТЛАДКИ

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

5.jpg (359.4 KB, Downloads: 0)

2020-05-30 21:29:07 Upload

И нажимаем УДАЛИТЬ СОХРАНЕННЫЕ ЗАПИСИ ДЕЙСТВИЙ, чтобы освободить память от ненужных нам записей, которые могут занимать сотни мегабайт.
Всё, мы отключили ещё одну функцию, которая потребляла энергию, ухудшала производительность Xiaomi и зря занимала память.

Проверено лично на Xiaomi mi 9t pro

Источник

Источник

Что такое Activity и его жизненный цикл в Android

Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)

Из моей предыдущей статьи вы узнали, что Intents позволяют отправлять сообщения с одного компонента Android на другой. А очень важным компонентом является Activity.

Activities являются основной частью разработки приложений для Android. И невозможно понять Activity, не понимая их жизненных циклов. В этом материале вы узнаете всё о жизненном цикле Activity.

Жизненный цикл Activity

Activity — это отдельный экран в Android. Это как окно в приложении для рабочего стола, или фрейм в программе на Java. Activity позволяет вам разместить все ваши компоненты пользовательского интерфейса или виджеты на этом экране.

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

Методы жизненного цикла

Давайте поближе рассмотрим жизненный цикл Android Activity. Каждый раз, когда Activity меняет стадию, вызывается один из следующих методов жизненного цикла для класса Activity.

onCreate() : вызывается при первой инициализации Activity. Вам нужно выполнить этот метод для выполнения любой инициализации в вашей Activity.

onDestroy() : этот метод вызывается перед тем, как Activity будет завершена. Система вызывает этот метод, когда пользователь завершает Activity, или если система временно убирает процесс, содержащий Activity, для высвобождения места. С этом методом, обязательно освободите любые ресурсы, созданные вашей Activity, иначе ваше приложение будет иметь утечку памяти.

onRestart() : это вызывается, если Activity перезапускается, после того, как было остановлено.

Запуск Activity

Большинство пользовательских взаимодействий приводит к изменению действующей Activity. Поэтому приложение моно раз переключается между Activity за свой жизненный цикл.

Запуск Activity без ожидаемого результата

startActivity() используется, если недавно запущенная Activity не должна возвращать результат.

Следующий фрагмент кода показывает как начать другую Activity, используя этот метод:

Можно также выполнять действия по передачи данных от одной Activity к другой. В этом случае, ваша текущая Activity (вызывающая Activity) хочет передать данные целевой Activity. Вот когда полезны Intents. Чтобы узнать больше об использовании Intents для запуска Activity, смотрите мой предыдущий урок.

Запуск Activity на результат

startActivityForResult() используется для запуска другой Activity и ожидает получение данных в эту свежезапущенную Activity. Другими словами, используйте это если хотите получить результат от целевой Activity в вызывающую Activity, т.е. если целевая Activity собирает некую пользовательскую информацию в модальном диалоговом окне.

Пример запуска Activity

Вот пример, который показывает как работает запуск Activity

В методе onCreate() вы создадите новый экземпляр намерения (intent) чтобы запустить вторую Activity.

Вот как это должно выглядеть:

Прерывание Activity

Перед завершением Activity, будут вызваны соответствующие методы жизненного цикла.

Метод onPause() должен остановить все «слушания» и обновления интерфейса. Метод onStop() должен сохранять данные приложения. И наконец, метод onDestroy() высвободит любые ресурсы, выделенные для Activity.

Стадия экземпляра Activity

Activity нужен способ сохранить полезное состояние и пользовательские данные, которые она получила. Эти данные могут быть получены от пользователя или созданы, пока Activity не отображалась на экране.

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

Мы получше рассмотрим состояние экземпляра Activity в будущих статьях.

Заключение

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

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

Источник

Каково главное преимущество и недостаток «не держать действия» в android

Один запрос, который я хотел бы получить, если бы кто-нибудь мог ответить на него, как: Do not keep activities следует проверять параметры Do not keep activities во время тестирования мобильного приложения Android от разработчиков.

Я использовал его в своем приложении и обнаружил, что мое приложение ведет себя некорректно и разбилось, когда я включил. Do not keep activities в android.

Мои вопросы были несколько:

1: How much this option will affect mobile applications?

2: What exactly does this do?

Создает ли это какие-либо положительные или отрицательные функции в моих приложениях?

Каковы были преимущества и недостатки его использования при сохранении. Do not keep activities Просьба поделиться опытом.

Насколько этот параметр повлияет на мобильные приложения?

Если они хорошо написаны, этот вариант не повлияет на них.

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

Нет, это означает, что все не сохраненные переменные будут удалены. Когда вы в пример нажмите кнопку «домой».

Создает ли это какие-либо положительные или отрицательные функции в моих приложениях?

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

Do not Keep Activities – это просто вариант разработчика, который поможет вам проверить, не

2. Handled малого объем память Ситуация, соответствующий образ (в этом случае активность будет уничтожена). ̶

Изменить : этот параметр не эмулирует ситуации с низкой памятью. Когда устройство испытывает низкую память, система может запросить операцию «Drop», вызывая Finish (), или она может идти вперед и полностью уничтожить процесс, как говорится в комментарии.

ПРЕИМУЩЕСТВА :

НЕДОСТАТКИ :

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

Очень хороший ответ дается в форуме разработчиков xda об использовании этой опции

Поэтому для проверки такого полного случая вы должны остановить приложение вручную, но не отбрасывайте его из диспетчера задач. Самый простой способ – с красной квадратной кнопкой в ​​андроид-студии. И снова откройте приложение.

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

Источник

Видео: Как пользоваться режимом разработчика в Android

Не раз нам приходили комментарии с просьбой рассказать поподробнее о режиме разработчика в Android. Многие знают, что это такое, но раз вопрос есть, то на него надо ответить.

Активация режима разработчика

Сначала надо активировать режим разработчика. Для этого надо перейти в настройки, найти вкладку “О телефоне”, а в ней поле “Номер сборки” и несколько раз часто тапнуть по нему. После этого в настройках самого смартфона появится новый пункт, который будет называться “Для разработчиков”.

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

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

Отчет об ошибке

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

Пароль для резервного копирования

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

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Не выключать экран

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

Включить режим трансляции операций

Этот режим позволяет сохранять пакеты HCI Bluetooth в отдельном файле, который можно будет найти в специальной папке в памяти телефона. Нужно это в основном для разработчиков и специалистов по безопасности.

Заводская разблокировка

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

Работающие приложения

Этот пункт наоборот может быть полезен простым пользователям, так как тут можно посмотреть сколько памяти “съедает” каждое приложение и остановить его. Если есть какие-то проблемы, то отсюда же можно отправить отчет об ошибке и просто поподробнее изучить сами приложения.

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Отладка по USB

Отладка по USB нужна для того, чтобы можно было устанавливать соединение с компьютером используя Android Debug Bridge. Как правило это требуется для получения root-прав и модификации прошивок.

Запретить доступ для USB-отладки

Для отладки по USB требуется авторизовать компьютер для этой работы. Если вы не хотите, чтобы авторизованные ранее компьютеры имели доступ к отладке по USB и хотите, чтобы для них требовалась повторная авторизация, то для этого надо просто запретить доступ для USB-отладки.

Отчет об ошибке

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

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Выбор приложения для фиктивных местоположений

В Android можно на программном уровне изменить свое местоположение не сходя с места. В некоторых играх, или приложениях это может пригодится. Этим можно будет разыгрывать друзей, или обманывать кого-то по поводу своего местоположения. В любом случае, все это можно сделать. Для этого надо скачать какое-нибудь приложения по запросу “Fake GPS” а настроить в нем новое положение. После этого в пункте “Выбрать приложение для фиктивных местоположений” выбрать его.

Сертификация беспроводных мониторов

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

Подробный журнал Wi-fi

Если есть желание подробно отслеживать работу Wi-Fi соединений, то вам сюда. Активировав этот режим, можно включить более подробные отображения в журнале.

Переключаться на мобильную сеть

Активация этого пункта позволит переключаться на мобильную сеть для передачи данных когда сигнал Wi-Fi становится слишком слабым. Но в этом случае надо не забывать про объем включенного трафика или его стоимость, если у вас не безлимит. Странно, что этот пункт спрятали сюда. Например, в iOS это называется ассистент Wi-Fi и находится в обычных настройках.

Не отключать передачу данных

Для быстрого переключения между сетями можно активировать значение, которое позволит не прекращать передачу данных через мобильную сеть даже при активном Wi-Fi подключении. В этом режиме будет проще и быстрее переходит от одной сети к другой.

Конфигурация USB

В этом пункте можно настроить то, что мы настраиваем в шторке уведомлений, когда телефон подключен к компьютеру. А именно режим работы USB. Но в данном случае можно выбрать не просто значение, а значение по умолчанию.

Отключить абсолютный уровень громкости

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

Визуальный отклик

Полезная вещь для любителей скринкаста. Она позволяет показать то место на экране, которого вы коснулись. На каждый день вряд ли пригодится, а для съемки скринкаста, обучающего видео или чего-то подобного может подойти.

Отображение касания

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

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Показывать обновление поверхности

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

Показывать границы элементов

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

Написание справа налево

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

Анимация

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

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Эмуляция дополнительных экранов

Позволит разработчикам имитировать различные размеры и разрешения экрана.

GPU-ускорение

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

Показывать обновление экрана

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

Включить 4x MSAA

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

Отключение передачи аудио (USB)

Настройка позволяет отключить автоматическую маршрутизацию на внешние USB-устройства.

Строгий режим

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

Загрузка процессора

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

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Не сохранять действия

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

Лимит фоновых процессов

Полезная опция для сохранения аккумулятора и производительности смартфона. Из названия видно, что она устанавливает лимит на количество фоновых процессов, которые могут работать одновременно.

Все ANR

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

Неактивные приложения

В этом пункте находится встроенный диспетчер неактивных приложений, который позволит регулировать их активность.

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Разрешить сохранение на внешние накопители

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

Изменение размера многооконности

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

Отключение режима разработчика

Как и было сказано в начале, режим разработчика можно отключить. Хотя отключается он немного другим способом, нежели включается. Для отключения надо будет открыть настройки и перейти в раздел “приложения”. После этого нужно будет найти приложение “Настройки” и зайдя в него стереть все данные. Если это сделать, режим разработчика будет отключен. А если понадобится включить его снова, то сделать это можно будет там же способом, который был описан в начале.

Уничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что этоУничтожать activities после их завершения что это. Смотреть фото Уничтожать activities после их завершения что это. Смотреть картинку Уничтожать activities после их завершения что это. Картинка про Уничтожать activities после их завершения что это. Фото Уничтожать activities после их завершения что это

Итоги

Мы рассказали вам про меню настроек разработчика и что означают основные пункты. Как вы поняли, большинство пунктов не для простых пользователей. Они понадобятся или тем, кто действительно является разработчиком, или тем, кто хочет на свой страх и риск поподробнее разобраться в возможностях операционной системы от Google. Еще раз добавим, что если навыков в этой области мало, то лучше даже не пробовать.

Источник

Do not keep activities

Не сохранять операции

«Не сохранять операции» — именно таким странным образом переведена фраза «Do not keep activities» в настройках Android. А описание «Удалять все операции сразу после их завершения пользователем» не добавляет ясности. Включается она в меню «Параметры разработчика» (Developer Options), находится в самом низу.

Работает эта настройка очень просто, когда она включена, все неактивные активити умирают. Т.е. после перехода из активити A в активити B, активити A уничтожается. Таким образом можно проверить насколько вписывается ваше приложение в activity lifecycle.

Почти не возникло проблем с Вконтакте, с их SDK можно написать все правильно, но все таки есть у них небольшая проблема. А именно, после авторизации через приложение, результат возвращается в onActivityResult. По документации, нужно вызвать
однако, в случае уничтожения активити нашего приложение, вылетит NPE, поэтому сначала нужно вызвать

Не совсем очевидно, да и незадокументировано. Завел issue, на всякий.

Были проблемы с Facebook, потому как, по глупости своей, я решил использовать android-simple-facebook, а ее автор, как я понял, не особо парился по поводу android lifecycle. Пришлось полностью от него отказаться и переделывать все на официальный SDK Facebook и все проблемы ушли. Хотя, наверное, можно было и так все поправить одной строчкой, но пути назад уже не было.

И совсем не было проблем с Twitter, потому что все работает просто, как топор. У них просто нет своего SDK и авторизации через приложение. Приходится делать все по старинке, через WebView. Вообще у них самая ужасная авторизация из всех.
Ну да это так, лирическое отступление.

Есть проблемы с PayPal SDK, оно просто валится везде где только можно. Благо кто-то уже завел issue до меня и наверняка они в скором будущем это поправят.

Другие примеры

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

Хабрахабр

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

Payoneer

Много времени не понадобилось. Экран логина, ушел в keepass за паролем, вернулся — гипс крэш:

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

Используйте настройку «Do not keep activities», надеюсь для кого-то эта информация окажется новой и поможет избежать ошибок поведения и крэшэй.
Думаю тоже смог бы избежать кучи репортов в Google Play, если бы сразу знал об этой настройке.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *