Category: техника

Category was added automatically. Read all entries about "техника".

Binyan

Daoz BaziVector. Теперь в Google Play.


Я к этому давно шел, и наконец то сделал. БаЦзы калькулятор, который ближе всего к реальности. Программу можно скачать с Google Play. Введите в поиск Daoz BaziVector.

Или воспользуйтесь ссылкой.

Установка на компьютер с помощью эмулятора Андроид Bluestack.


Буду рад, если моя программка поможет вам объяснить происходящее с вами и вокруг вас.

Buy for 50 tokens
***
...
Binyan

Словил ошибку на смартфоне.

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

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

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

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

Из другого места нельзя в программе сделать это обращение, оно должно быть из главного потока. Перекинул в разные места программы это обращение. Запуск расчетов в других потоках, тоже разнес по разным местам. В этом расчете еще это возможно. Раскидал два Thread по разным классам.

В том, который я делаю сейчас, такое сделать не получится.

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

Collapse )