Zelfs de volumeregeling van Android is hopeloos gefragmenteerd

We weten al dat tussen honderden verschillende Android-builds en handsets, het smartphone-besturingssysteem van Google is hopeloos gefragmenteerd, en vereist enorme kosten en tijd van ontwikkelaars om zelfs een eenvoudige app betrouwbaar te laten werken.

Maar het probleem met Android - en waarom het zo'n bitch is om voor te ontwikkelen - gaat dieper dan alleen te veel handsets en OS-builds om te ondersteunen. Zelfs het ontwikkelen van een eenvoudig muziek-app voor Android is een nachtmerrie vanwege Android-fragmentatie, omdat Google het niet eens kon krijgen volumeregeling direct uit de doos op Android.

Eliot Van Buskirk van Evolver.fm sprak met een ontwikkelaar achter een zeer populaire maar naamloze muziek-app die probeert naar Android te komen. Sprekend op voorwaarde van anonimiteit (vanwege het feit dat de app, ondanks deze problemen, uiteindelijk op Google Play zal verschijnen), legt de ontwikkelaar uit waarom Google's implementatie van zoiets corrigerends als volumeregeling hopeloos wordt verbroken en leidt tot nog meer fragmentatie van een reeds gefragmenteerd platform.

Dit is wat er mis is met de methode van Android om met volumeregeling om te gaan, volgens de ontwikkelaar:

1. Android OS biedt slechts één API voor volumeregeling. Het probleem is dat er behoefte is aan ten minste twee soorten volumeregeling: het algemene uitvoervolume en het media-/muziekvolume. Dit betekent dat fabrikanten hun eigen manier moeten implementeren om het media-/muziekvolume te regelen. Helaas doet elke fabrikant dit anders, en er is geen manier om erachter te komen hoe ze het hebben gedaan totdat je elk afzonderlijk model hebt getest. Om het nog erger te maken, gebruikte Samsung een inefficiënte manier om de hardware- en mediavolumes te regelen en voert het opzettelijk een deel van de hardware-uitvoer naar de microfooningang. Dit zorgt voor audiochaos.

2. Android OS is schokkend inefficiënt in het omgaan met realtime audio. Het besturingssysteem voegt ongeveer zeven seconden vertraging toe en de hardware voegt nog eens vijf of zes seconden toe, waardoor de standaardvertraging in totaal 12-13 seconden is. We zijn erin geslaagd de realtime vertraging te verminderen tot ongeveer een halve seconde (500 ms) of minder, wat volgens ons de beste is die tot nu toe op Android is bereikt. [red. let op: de iPhone-versie heeft geen merkbare vertraging.]

3. Honderden schermgroottes en resoluties maken het onmogelijk om een ​​one-size-fits-all UI-graphics te hebben. [red. opmerking: het is duidelijk dat deze klacht niet exclusief is voor ontwikkelaars van audio-apps, en we hebben het al vaker gehoord.]

Heb het? Aangezien Google er niet in is geslaagd om de vooruitziende blik in vier versies van Android te hebben om twee verschillende API's voor volumeregeling te introduceren - één voor mediavolume, één voor algemeen uitvoervolume, - fabrikanten hebben allemaal honderden van hun eigen gekke alternatieven geïntroduceerd, die elke ontwikkelaar die een media- of muziek-app maakt, moet proberen steun.

En de vertraging! Voor realtime audio is de het beste ontwikkelaars kunnen hopen op een vertraging van een halve seconde, en dat is na een waanzinnige en eindeloze hoeveelheid optimalisatie. Niet geoptimaliseerd, Android vertraagt ​​realtime audio met ongeveer dertien seconden. Ik heb deze alinea in minder getypt. Vergeleken met iOS, schrijft Evolver.fm-commentator Adil Sherwani, en het verschil is gewoon schokkend.

500 ms is hoger dan het getal van 100 ms dat ik vorig jaar had gezien, maar hoe dan ook, 2 ordes van grootte hoger dan iOS, dat een latentie van minder dan 3 ms hardware-uitvoer biedt. Voeg ongeveer 10 ms touchscreen / accelerometer latentie toe (zeer ruwe schatting, ik denk niet dat iemand hier werkelijke cijfers voor heeft gepubliceerd), 5ms audiobuffers (minimale grootte), en 1-2 verwerkingstijd voor uw app, en u kunt nog steeds binnen 20 ms blijven, wat het magische getal lijkt te zijn voor audio om realtime te voelen mensen.

Heb het? In Android is realtime audio eigenlijk minstens een halve seconde in het verleden. Op iOS speelt het echter in een oogwenk.

Absoluut nootachtig. Geen wonder dat Android-ontwikkelaars zo gefrustreerd zijn. En dit is er maar één klein voorbeeld van Android-fragmentatie. Wanneer gaat Google zijn zaakjes op orde krijgen?

Bron: Evolver.fm

Laatste blogbericht

| Cult van Mac
August 20, 2021

De nieuwe iPad heeft de iPhone 4 camerasensorDe nieuwe iPad deelt een camerasensor met de iPhone 4We vermoedden dat al, maar de nieuwsgierige ingen...

| Cult van Mac
August 21, 2021

Apple versloeg Samsung afgelopen kwartaal tot 's werelds beste smartphoneverkoperSamsung werd genaaid door de terugroepactie van de Galaxy Note 7.F...

Apple nieuws, analyse en opinie, plus algemeen technisch nieuws
August 20, 2021

Met Apple Maps kunnen bestuurders ongevallen, snelheidscontroles en andere gevaren meldenMet Apple Maps in iOS 14.5 kunnen gebruikers gevaren melde...