с индексом @1x для обычных дисплеев и @2x — для дисплеев, плотность пикселей которых в два раза выше. Обычно этих индексов достаточно. Но в некоторых проектах идут дальше и используют отдельную графику с индексом @3x
Плотность 3x имеют следующие устройства: iPhone 6 Plus - 8 Plus, Xs Max, 11 Pro Max - 13 Pro Max, iPhone 12, 13.
Так что говорить что 2x достаточно немного не корректно.
Может возникнуть вопрос по поводу 3x в старых iPhone, формально плотность экрана там меньше (где-то 2,5). В этих телефонах картинка рисуется исходя из плотности 3х, а затем при отображении на экране она масштабируется
Т.е. программно в функции ПриСозданииНаСервере создаем элементы-контролы и назначаем сразу им функции - обработчики событий в виде имен функций которые надо вызывать
Не был знаком. Посмотрел. На первый взгляд неплохо. Но мне показалось, что ради совместимости со старыми браузерами автор отказывается от слишком многих современных возможностей браузеров.
Чтобы купить у вас книгу я должен не просто заплатить, но и оставить вам свой номер телефона, e-mail и согласиться на «обработку персональных данных». Не много ли вы хотите? Зачем вам мой телефон?
В этом случае Activity не уничтожается, читайте документацию. Оно уничтожится только если телефону будет не хватать ресурсов. Но в этом случае сервис система может точно также прибить (но есть ряд хитростей, чтобы передвинуть сервис в конец очереди на удаление).
Вообще я просто указал на пункт, который не во всех случаях верен.
> Отправка запроса из кода Activity при помощи AsyncTask — плохо, т.к. если пользователь, к примеру, повернет экран, Activity пересоздастся и запрос придется выполнять заново
Достаточно в манифесте добавить
<activity… android:configChanges=«orientation»>
и activity не будет пересоздаваться при повороте экрана
Да я написал, что это была моя ошибка. И понял ее после того как установил, но проблема не в этом, а в том как SDK удаляется. Согласитесь, что с таким деинсталятором надо быть поаккуратнее.
Смешной вы. Ничего страшного не произошло, иначе я писал бы в рубрику «Я негодую». На маках есть великолепная функция Time machine. Чтобы вернуть все назад мне понадобилось меньше 5 минут
Для мака инсталятор который предлагает выбрать папку куда ставить это не характерно. Обычно это программа просто перетаскивается из папки инсталятора в папку Application или это визард, который опять же не предлагает ничего выбрать.
Если же инсталятор предлагает мне выбрать папку, то я ожидаю, что удалится он из нее корректно. И тут не проблема в том, что он не создал отдельную папку, а в том, что нет элементарной защиты от ошибки пользователя
Если коротко, то если сервис должен что-то делать по расписанию, то иконка здесь не нужна. Такой сервис просто говорит системе во сколько его надо запускать, а андроид уже сам его будет запускать, когда надо.
Если же сервис работает постоянно (как Adblock), то здесь главное не дать системе его закрыть и иконка в этом очень сильно помогает.
Это очень поверхностный ответ. Реально, существует множество различных вариантов сервисов и сложно все коротко объяснить.
Работал над одним проектом, где мы столкнулись с тем, что Android прибивал сервис. Погуглили и нашли это решение. И действительно, после того как повесили иконку в нотификейшен, Андроид перестал закрывать сервис
Андроид может прибить любой сервис если ему не хватает памяти. Но сервисы у которых висит иконка в нотификейшен прибиваются самыми последними. Именно поэтому сделали иконку и ее не будут убирать
У меня программа в двух версиях платная и бесплатная. Всегда их апрувили одновременно. Но последний апдейт платной версии заапрувили за 7 дней, а бесплатной за 12. Отправлены версии были с разницой 15 минут, сначала бесплатная, а затем платная
Плотность 3x имеют следующие устройства: iPhone 6 Plus - 8 Plus, Xs Max, 11 Pro Max - 13 Pro Max, iPhone 12, 13.
Так что говорить что 2x достаточно немного не корректно.
Может возникнуть вопрос по поводу 3x в старых iPhone, формально плотность экрана там меньше (где-то 2,5). В этих телефонах картинка рисуется исходя из плотности 3х, а затем при отображении на экране она масштабируется
Именно так в RUI и сделано. Например,
Когда в клиенте нажимается кнопка, на сервере вызывается функция clickFunc
Не был знаком. Посмотрел. На первый взгляд неплохо. Но мне показалось, что ради совместимости со старыми браузерами автор отказывается от слишком многих современных возможностей браузеров.
https://github.com/anoshenko/ruiDemo.git
Вообще я просто указал на пункт, который не во всех случаях верен.
Достаточно в манифесте добавить
<activity… android:configChanges=«orientation»>
и activity не будет пересоздаваться при повороте экрана
InputStream stream = getContext().getResources().openRawResource(raw_resource_id);
byte[] text = new byte[stream.available()];
stream.read(text);
Spanned spanned = Html.fromHtml(new String(text));
Мы так делаем, чтобы наш технический писатель их мог править в html редакторе не дергая программиста.
Если же инсталятор предлагает мне выбрать папку, то я ожидаю, что удалится он из нее корректно. И тут не проблема в том, что он не создал отдельную папку, а в том, что нет элементарной защиты от ошибки пользователя
Если же сервис работает постоянно (как Adblock), то здесь главное не дать системе его закрыть и иконка в этом очень сильно помогает.
Это очень поверхностный ответ. Реально, существует множество различных вариантов сервисов и сложно все коротко объяснить.