Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Telefoonmakers maken rommel met het geheugenbeheer van Android en Google doet er niets aan

Inhoudsopgave:

Anonim

Het bedrijf dat uw Android-telefoon maakt, doet Android-geheugenbeheer verkeerd. Omdat de best practices en in sommige gevallen de werkelijke vereisten voor toegang tot Google Play niet worden nageleefd, zien app-ontwikkelaars een nieuwe reeks hoofdpijn als de apps die ze bouwen moeten werken terwijl u naar een ander scherm kijkt of het scherm is ingeschakeld uit. Gelukkig heeft het Urbandroid-team dingen onder onze aandacht gebracht met Dontkillmyapp.com. Hier vindt u gedetailleerde beschrijvingen van het probleem, evenals een scorekaart voor populaire Android-leveranciers die elk niveau van misbruik beoordelen met 1-5 stapels onzin. fitting

De verklaring op de GitHub-pagina van de website legt uit:

Uiteindelijk wordt elke Android-ontwikkelaar op zijn minst gedeeltelijk getroffen door dit probleem.

Wij bij Urbandroid Team worden zwaar getroffen met onze Sleep as Android-app en we hebben zoveel informatie verzameld over hacks en tijdelijke oplossingen dat we de behoefte voelden om de informatie te delen. We begonnen met het contacteren van individuele indie-ontwikkelaars met aanbiedingen om informatie uit te wisselen, wat leidde tot het idee van een effectievere aanpak in de vorm van een open-source website.

Het "probleem" is dat de bedrijven die telefoons maken zijn veranderd hoe vitale Android-componenten zoals Doze werken; apps hebben gebouwd die zijn ontworpen om agressief apps te vegen en te doden die systeembronnen gebruiken; en zelfs het bouwen van witte lijsten die aangeven welke apps mogen worden uitgevoerd terwijl ze niet op het scherm staan. Dat maakt apps die op de achtergrond moeten werken - zoals de slaap-app van Urbandroid als Android-app niet in staat om te doen wat ze bedoeld waren te doen.

Dit valt allemaal in de oren van de ontwikkelaar van de app, omdat ongelukkige klanten niet begrijpen hoe geheugenbeheer in Android werkt (en dat zou ook niet moeten) en waarom het niet alleen geïsoleerd is van de betreffende app. Ongelukkige klanten zorgen voor ongelukkige ontwikkelaars, wat voor ons allemaal vijf stapels onzin is.

Niet alle Android is open

Je denkt misschien: "Dus wat? Android is open source en bedrijven die het gebruiken, kunnen doen wat ze willen met de code, " en tot op zekere hoogte heb je gelijk. Maar dat alles verandert zodra een telefoonmaker toegang tot Google Play wil.

Toegang tot Google Play Store wordt niet vrij gegeven - er is een overeenkomst die beide partijen moeten volgen.

Om toegang te krijgen tot Google Play moeten enkele regels worden gevolgd, waarvan vele op het eerste gezicht willekeurig lijken. Dat is een grotere discussie voor nog een artikel of twee, maar de kern ervan is dat Google een absoluut minimum aan dingen op zijn plaats wil hebben op elke telefoon zodat elke app in de Play Store werkt zolang de telefoon op een ondersteund apparaat staat versie. Met andere woorden, als de vermelding van een app zegt dat Android 4 of hoger vereist is om te worden uitgevoerd, moet elke telefoon met Android 4 of hoger de app kunnen installeren en gebruiken. Geen uitzonderingen.

Er zijn enkele gedetailleerde manieren waarop een ontwikkelaar die een app wil of nodig heeft om op de achtergrond te werken en te werken - wanneer u niet actief naar het scherm kijkt - dit op een manier doet die consistent is op alle telefoons. Google kan dan ook andere delen van Android verbeteren en weten waar het niet mee moet knoeien als het wil dat alle apps nog steeds werken, zodat het kan proberen achterwaarts compliant te blijven.

Dat lukt niet altijd. Iedereen die een Nexus- of Pixel-telefoon heeft gehad, zal je vertellen dat nieuwe versies van Android er vaak toe leiden dat apps niet meer werken en dat sommige nooit worden bijgewerkt. Soms moet een beslissing worden genomen en moet een oude functie worden afgesneden om deze te vervangen door iets nieuws. En Google heeft zijn eigen puinhoop een tijdje of twee opgevoerd en dingen verprutst, zoals de eerste release van Doze in Android 6.0.

Het is belangrijk om consistent te zijn als u de andere producten van Google wilt gebruiken. Zelfs met een open source stukje software.

Hoe zijn we hier gekomen?

Smartphone-makers doen dit niet alleen voor de lol. Elk bedrijf dat telefoons maakt, wil dat je een product dat je van hen koopt, leuk genoeg vindt om naar het merk te kijken de volgende keer dat je een telefoon koopt. Als apps zonder reden zouden worden gedood, zou dat niet helpen.

Wanneer we een telefoon kopen, is er meestal één ding dat bovenaan de lijst staat met dingen die we ervan willen: lange levensduur van de batterij. Een manier om de levensduur van de batterij te verlengen, is door te beperken wat een telefoon kan; daarom hoef je een 'domme' telefoon maar een paar keer per week op te laden. Het doet niet echt veel, vooral als het niet in jouw handen ligt. Smartphones moeten echter veel dingen doen.

Het doden van achtergrondtaken is misschien goed voor je batterij, maar het maakt je smartphone dom.

Google heeft een systeem dat apps in een 'slaapstand' plaatst wanneer ze niets actief doen, maar dit in de toekomst misschien wel moeten doen. Het heeft veel werk gedaan - sommige goed, sommige slecht - om dingen in balans te brengen, zodat je een telefoon hebt die dingen kan doen zoals je stappen volgen, je slaap volgen of fungeren als een muziekspeler terwijl het scherm is uitgeschakeld zonder je batterij leeg te maken. Hij verwacht dat deze methoden zullen worden gebruikt en dat de regels zullen worden gevolgd zodat we die consistentie krijgen van elke app in de Play Store.

Uit de lijst van Dontkillmyapp is Nokia het voorbeeld dat ik hier zal gebruiken, maar de lijst met overtreders bevat ook OnePlus, Sony en Samsung. Zelfs Google zelf wordt opgeroepen omdat het moeilijk is om een ​​app vrij te stellen van het krijgen van "Dozed". Nokia heeft op elke telefoon van het bedrijf een app die Android Oreo of hoger uitvoert en waarmee elk achtergrondproces 20 minuten nadat het scherm is uitgeschakeld, wordt uitgeschakeld. Dat betekent dat fitness-apps nooit zullen werken, maar het betekent ook dat je alarm niet afgaat als je Android P hebt.

Hoe zijn we zover gekomen dat onze smartphones niet slim mogen zijn? Omdat we een langere batterijduur eisten en bedrijven die telefoons maken, ook slechte beslissingen nemen om het aan ons te geven. Er zijn niet veel dingen die door een telefoonfabrikant aan Android kunnen worden gedaan die een grote impact op de levensduur van de batterij hebben. Een van de dingen die kunnen worden gedaan, is het uitschakelen van apps die mogelijk niet levend hoeven te zijn. Wanneer een van de gedode apps wel in leven moest blijven, werkt het gewoon niet zoals bedoeld.

Google moet de klemmen vastdraaien

Ik haat het om dit te zeggen. Android is een open source-project dat in de loop der jaren een ongelooflijke ontwikkeling heeft doorgemaakt door bedrijven die Google niet hebben genoemd. Bedrijven die Android gebruiken, moeten doen wat ze willen en elke grens verleggen om het beter te maken. Maar dan komen we weer terug op die consistentie voor apps uit de Play Store.

Gebruikers - inclusief gebruikers van het type die een probleem als dit kennen en begrijpen - verdienen beter. Google moet dat laten gebeuren als het gaat om apps uit de winkel en alles aanpassen en afdwingen om het zo te maken. Doe het zonder enige betrokkenheid van de gebruiker, en doe het consequent, ongeacht hoe groot het bedrijf "aanstootgevend" is of hoeveel telefoons het verkoopt.

We verdienen het.