Поведение программ на устройствах Android

Теперь мне, как разработчику Андроид-приложений стало понятно, почему такая разница в отзывах пользователей на одно и тоже приложение.

Оказывается, поведение программ на разных «железяках», телефонах, планшетах…, на которые установлена операционная система Андроид  (тоже разных версий)  — может быть реально совершенно разным ! Даже если операционка одной и той же версии.

Кроме того, что датчики работают (получают питание) и отдают данные операционной системе на разных устройствах — по разному (в зависимости от работы дисплея, например), еще и системные события возникают так же не одинаково ! Я столкнулся с тем, что событие о смене состояния батареи ACTION_BATTERY_CHANGED (заряжается или нет) — на двух разный устройствах генерируется по разному !

Когда отсоединяешь кабель зарядного устройства  — брэндовый телефон выдает это событие четко, однократно, и программа реагирует на него также, четко, однократно, как задумывал программист. А вот андроидофон от каких-то китайских noname-молодцов — генерирует это событие периодически, как будто каждые несколько секунд отсоединяется по кабелю питания (не подтыкаясь обратно) ! Соответственно, и программа реагирует на каждое событие, что неправильно.

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

Но теперь мне ясно, что «глюки» в одном и том же приложении (и отзывы о нем!) зависят не только от версии самой операционной системы, а и от версии «прошивки»\firmware конкретных аппаратов, что к сожалению, программисты прикладных приложений могут исправить только тщательным тестированием на разных устройствах, и все равно гарантий совместимости со всеми «железяками» от разных «криворучек» — не будет. 🙁

Comments are closed.