- Регистрация
- 02.07.2018
- Сообщения
- 46
- Благодарностей
- 6
- Баллы
- 8
Всем привет!
Не всегда сайт или его функционал доступны в веб интерфейсе. Когда мне нужно было реализовать функционал на андроид приложении - мой выбор пал на Zennodroid.
Пока я довольствовался 1 потоком, то все работало хорошо. Однако, когда появилась потребность в многопотоке, то пришлось провести ряд экспериментов.
С чем я столкнулся при работе с многопотоком?
Я создал примерно 10 эмуляторов. Однако всегда выбирался один и тот же эмулятор, где постоянно нужно было подставлять имя эмулятора "Запуск устройства".
Для этого я реализовал взаимодействие с экшеном "Работа с листом". Туда были записаны все имена устройств. Одна строчка - одно имя. И логика была следующая: берем и удаляем одну строчку. Перемещаем ее в низ, чтобы не было повторов. Таким образом все запущенные эмуляторы будут внизу строчки. Тут рекомендую исходить от того сколько вам потоков нужно. Я всегда советую делать с запасом 5-10 штук.
Удалось разогнать свое железо максимум до 20 потоков. Дальше программа начала подвисать. Zennodroid сам по себе тяжелый и кушает много ресурсов. Эмулятор же может зависнуть и не реагировать. Для того, чтобы обезопасить себя от этого риса я всегда использую "Условие прерывание потока".
Про настройку эмулятора:
Для удобства я переименовываю все эмуляторы в понятные значения от 1 до 30.
Рекомендую всегда выбирайть разрешение "Мобильный". Были момент, когда выходили обновления приложения и оно переставало работать в режиме "Планшет","Супер широкий экран". Также я столкнулся с следующей проблемой: я создал много эмуляторов с разрешением "мобильный", но по какой-то причине разрешение у всех было разное, а не как в настройках 720*1280*240dpi. Решение было вставить кубик с указанием разрешения экрана в начале проекта перед запуском.
По поводу производительности рекомендую смотреть исключительно по железу.
Вот так вот выглядит многопоток рабочий
Где красный контур-сработал тайм аут выполнения. Бывает проще сбросит в проекте на тайм аут, чем прописать проверки на существование элемента. В данном случае работает чекер аккаунтов на информацию.
Про восстановление данных приложения:
При многопотоке не все приложения восстанавливают ваши данные. Мне пришлось реализовывать оплату через банковские приложения, которые не восстанавливают данные, а выбрасывают на авторизацию по смс. Как я ни шаманил , ничего не получалось. Выбор пал на Яндекс Пей или Яндекс Деньги.
Яндекс Деньги без проблем восстанавливают данные в отличие от Яндекс Пей, который порой выкидывает на авторизацию по почте и паролю без смс. Это можно изменить в настройках кошелька. В банковских приложениях подобной функции нет. Я пошел дальше и установил на всех эмуляторах приложения от Тинькова, Сбера и вводил данные авторизации вручную. Но всегда при многопотоке при входе в приложение был сброс и требовалось ввести смс. Если вас удовлетворяет один поток и все работает, то можно использовать любые банковские приложения.
Про прокси:
Вот такая ошибка появляется время от времени при обрыве связи или плохом прокси. И даже если нажать на кнопку "Обновить страницу", то она не обновляется. Для этого я всегда ставлю тайм-аут выполнения проекта.
С мобильными проксями у меня не задалось сразу. Не прогруз в приложении и ошибка с интернетом появлялась постоянно. Запустил ipv4 - ошибка осталась, но стала появляться реже. Все приложения разные - рекомендую делать тесты.
Иногда приложение отказывается восстанавливать данные, хотя еще вчера ты с ними работал. Я решаю эту проблему полным удаление эмуляторов и созданием новых.
P.S Как реализовать многопоток самих данных, когда восстанавливаешь данные приложения? Сначала ты их сохраняешь. Я также сохраняю пути в текстовик, чтобы брать первые данные приложения и перемещать его в конец с удалением строчки из текстовика.
Всем хорошей работы. Краткое рассказал о том, с какими проблемами я столкнулся при работе с ZennoDroid. Буду рад ответить на ваши вопросы.
Не всегда сайт или его функционал доступны в веб интерфейсе. Когда мне нужно было реализовать функционал на андроид приложении - мой выбор пал на Zennodroid.
Пока я довольствовался 1 потоком, то все работало хорошо. Однако, когда появилась потребность в многопотоке, то пришлось провести ряд экспериментов.
С чем я столкнулся при работе с многопотоком?
Я создал примерно 10 эмуляторов. Однако всегда выбирался один и тот же эмулятор, где постоянно нужно было подставлять имя эмулятора "Запуск устройства".
Для этого я реализовал взаимодействие с экшеном "Работа с листом". Туда были записаны все имена устройств. Одна строчка - одно имя. И логика была следующая: берем и удаляем одну строчку. Перемещаем ее в низ, чтобы не было повторов. Таким образом все запущенные эмуляторы будут внизу строчки. Тут рекомендую исходить от того сколько вам потоков нужно. Я всегда советую делать с запасом 5-10 штук.
Удалось разогнать свое железо максимум до 20 потоков. Дальше программа начала подвисать. Zennodroid сам по себе тяжелый и кушает много ресурсов. Эмулятор же может зависнуть и не реагировать. Для того, чтобы обезопасить себя от этого риса я всегда использую "Условие прерывание потока".
Про настройку эмулятора:
Для удобства я переименовываю все эмуляторы в понятные значения от 1 до 30.
Рекомендую всегда выбирайть разрешение "Мобильный". Были момент, когда выходили обновления приложения и оно переставало работать в режиме "Планшет","Супер широкий экран". Также я столкнулся с следующей проблемой: я создал много эмуляторов с разрешением "мобильный", но по какой-то причине разрешение у всех было разное, а не как в настройках 720*1280*240dpi. Решение было вставить кубик с указанием разрешения экрана в начале проекта перед запуском.
По поводу производительности рекомендую смотреть исключительно по железу.
Вот так вот выглядит многопоток рабочий
Где красный контур-сработал тайм аут выполнения. Бывает проще сбросит в проекте на тайм аут, чем прописать проверки на существование элемента. В данном случае работает чекер аккаунтов на информацию.
Про восстановление данных приложения:
При многопотоке не все приложения восстанавливают ваши данные. Мне пришлось реализовывать оплату через банковские приложения, которые не восстанавливают данные, а выбрасывают на авторизацию по смс. Как я ни шаманил , ничего не получалось. Выбор пал на Яндекс Пей или Яндекс Деньги.
Яндекс Деньги без проблем восстанавливают данные в отличие от Яндекс Пей, который порой выкидывает на авторизацию по почте и паролю без смс. Это можно изменить в настройках кошелька. В банковских приложениях подобной функции нет. Я пошел дальше и установил на всех эмуляторах приложения от Тинькова, Сбера и вводил данные авторизации вручную. Но всегда при многопотоке при входе в приложение был сброс и требовалось ввести смс. Если вас удовлетворяет один поток и все работает, то можно использовать любые банковские приложения.
Про прокси:
Вот такая ошибка появляется время от времени при обрыве связи или плохом прокси. И даже если нажать на кнопку "Обновить страницу", то она не обновляется. Для этого я всегда ставлю тайм-аут выполнения проекта.
С мобильными проксями у меня не задалось сразу. Не прогруз в приложении и ошибка с интернетом появлялась постоянно. Запустил ipv4 - ошибка осталась, но стала появляться реже. Все приложения разные - рекомендую делать тесты.
Иногда приложение отказывается восстанавливать данные, хотя еще вчера ты с ними работал. Я решаю эту проблему полным удаление эмуляторов и созданием новых.
P.S Как реализовать многопоток самих данных, когда восстанавливаешь данные приложения? Сначала ты их сохраняешь. Я также сохраняю пути в текстовик, чтобы брать первые данные приложения и перемещать его в конец с удалением строчки из текстовика.
Всем хорошей работы. Краткое рассказал о том, с какими проблемами я столкнулся при работе с ZennoDroid. Буду рад ответить на ваши вопросы.
- Номер конкурса статей
- Двадцатый конкурс статей
Вложения
-
73,5 КБ Просмотры: 48
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование модератором: