Mike
if (resourceIdBottom > 0 && resourceIdBottom != 17105180) {
Никогда так не делай. Спроси нормально у системы.
Anonymous
для проверки же, делать так не буду
Mike
для проверки же, делать так не буду
Ещё раз. ИДы ресурсов — это константы. Если ресурс есть, не значит, что навбар есть на экране. Это значит только то, что система знает о его существовании.
Anonymous
а что означает это число?
Anonymous
это текст, сконвертированный в int?
Yazu
решают кэши и onSaveInstanceState
В общем использовать onSaveInstanceState() и onRestoreInstanceState() для сохранения и восстановления данных самый верный способ?
Mike
а что означает это число?
некий номер/адрес в таблице ресурсов
Mike
😡
Anonymous
но не смерть процесса, то есть они откладывают существующую проблему на потом, чтобы она не всплыла в процессе тестирования
смену конфигурации решает и это главное. Чтобы востанавливать данные после закрытия приложение есть кеширование
Mike
смену конфигурации решает и это главное. Чтобы востанавливать данные после закрытия приложение есть кеширование
Это решается и nonConfigurationInstance. То есть проблемы просто не существует. А вот если кто-то будет держать пользовательские данные во вьюмодели, они потеряются.
Anonymous
Это решается и nonConfigurationInstance. То есть проблемы просто не существует. А вот если кто-то будет держать пользовательские данные во вьюмодели, они потеряются.
и то и то либа. Но jetpack предлагает более цельное решение, архитектурный подход и он от гугла. androidannotations не оч
Alexey
а что означает это число?
Если дропнешь все сгенерированные R*, то новые могут с другими константами перегенерироваться
Mike
и то и то либа. Но jetpack предлагает более цельное решение, архитектурный подход и он от гугла. androidannotations не оч
где либа, какой androidannotations? ViewModel использует nonConfigutaionsInstance, который существует в SDK вот уже 10 лет
Mike
? https://github.com/androidannotations/androidannotations/wiki/NonConfigurationInstance
а знаешь, как эта аннотация работает? https://developer.android.com/reference/android/app/Activity#onRetainNonConfigurationInstance()
Yazu
Для пользовательских данных — да. Для данных с сервера — HTTP кэш.
Имеется ввиду клиентское http кеширование, аналогичное тому, как браузер кеширует результаты запросов? Не совсем понял, как это использовать в коде приложения.
Yazu
Вот про второе как раз и вопрос, каким образом это сделать?
Yazu
SQLite исользовать для этого или есть какие-то другие способЫ?
Mike
SQLite исользовать для этого или есть какие-то другие способЫ?
не-не, sqlite в файлах, а тут надо бы в памяти держать
Mike
Вот про второе как раз и вопрос, каким образом это сделать?
можно хранить данные в retain-фрагменте или non-configuration instance (что по сути одно и то же)
Alexey
во вьюмодели можно держать, она не умирает пока активити живет
Alexey
что тоже по суди одно и тоже) но легче
Yazu
оно?
Alexey
разве livedata не возвращает последний закешированный результат?
Mike
https://developer.android.com/guide/topics/resources/runtime-changes?hl=ru
save/restore не для того, я бы там держал только данные, введенные пользователем
Yazu
можно хранить данные в retain-фрагменте или non-configuration instance (что по сути одно и то же)
Так тоже не советуют хранить там никакие данные, кроме данных, которые вводит пользователь. Кроме того, setRetainInstance(true) не работает для фрагментов в back stack, то есть если у меня будут переходы между несколькими активити а потом пользователь вернётся назад, то данные из первых активити умрут, верно?
Ярослав
что содержит в себе intent нотификации пуш уведомления от firebase? чёт не могу найти нужную документацию
Mike
Так тоже не советуют хранить там никакие данные, кроме данных, которые вводит пользователь. Кроме того, setRetainInstance(true) не работает для фрагментов в back stack, то есть если у меня будут переходы между несколькими активити а потом пользователь вернётся назад, то данные из первых активити умрут, верно?
> Так тоже не советуют почему? Как по мне, самое место для кэшей > не работает для фрагментов в back stack Это очень странная строчка в документации. Не понятно, что значит «не работает». https://stackoverflow.com/questions/11182180/understanding-fragments-setretaininstanceboolean#comment33613191_11318942
Сергій
Шок! Мобильный слэк нативный на иос и андроид и не шарит код между этими платформами 🙁😖
🇺🇦
О выборе телефона можно поговорить тут?
🇺🇦
Как думаете, брать на 64GB Mi 8 щас, или ждать 128GB?
Ilia
пиксель два
пиксель три же
🇺🇦
Я просто хочу взять телефон и не волноваться о памяти
Mike
давайте всё же не здесь
🇺🇦
Но и терпения нет
🇺🇦
mi a2 6/128
Пас за дизайн
Yazu
Как думаете, брать на 64GB Mi 8 щас, или ждать 128GB?
если писать видео в 4К не собираешься то хватит и на 64
Mike
хорош, а то начнётся
Ярослав
Я просто хочу взять телефон и не волноваться о памяти
у меня 1+3т 64гб и чёт жмёт, на 128 было бы топ комфорт
🇺🇦
если писать видео в 4К не собираешься то хватит и на 64
Я с 16 гигами хожу, вроде достаточно. Чистить кэш телеги и всё
🇺🇦
Anonymous
😂😂😂
Yazu
Если процесс умирает, то конечно.
он может умереть получается в 2 случаях: 1) Пользователь выкинет приложение из памяти 2) Система убьёт процесс, по какой-то причине, верно? При переключении между приложенями в памяти не должно умирать, верно?
🇺🇦
5-7 гигов на карте памяти занято, 16 основа
🇺🇦
Значит минимум 25 мне уже нужно
🇺🇦
Я ещё и меломан
Yazu
5-7 гигов на карте памяти занято, 16 основа
Пиши в ЛС если интересно по мобильниках поболтать, а то тут сейчас точно срач разведётся)))
Yazu
система убивает процесс как раз если переключаешься в другое приложение, а памяти нет
Логично, но такой расклад устраивает, в таком случае можно будет и подгрузить данные ещё раз так как раз памяти уже нет, значит либо приложение находится очень низко в стеке запущенных, а значит не использовалось давно, либо на устройстве очень мало ОЗУ
Yazu
Всё верно.
ок, спасибо за подсказки, буду эксперементировать
Anonymous
public static boolean hasSoftKeys(WindowManager windowManager){ кто знает, как вывести результат этого метода?
Anonymous
Anonymous
System.out.println(String.valueOf(hasSoftKeys(getWindowManager())));
Anonymous
во
Anonymous
рандом
Ivansuper
Зачем тебе String.valueOf?
Ivansuper
Оверхеда конечно нет, но перегруженные функции println умеют принимать разные типы аргументов
Ievgen
Screenshot (Oct 12, 2018 17:50:09)
Anonymous
Короче получилось сделать то, что хотел. Если что могу шарнуть код
Anonymous
Anonymous
Здравствуйте, почему Navigation view не накладывается на верхнюю часть экрана, где название приложения? Как это исправить?
Anonymous
Anonymous
RelativeLayout ----Toolbar ----DrawerLayout ---ContentView ---DrawerList
Anonymous
Вот такая должна быть иерархия разметки
Anonymous
Т.е. все обернуть в relative
Anonymous
Т.е. все обернуть в relative
Тулбар с дровером должны быть в релейтиве да
Anonymous
А где сам Navigation view
Anonymous
?