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

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

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

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

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

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

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

Comments are closed.