Logo sv.androidermagazine.com
Logo sv.androidermagazine.com

Telefontillverkare kraschar med androids minneshantering och google gör ingenting åt det

Innehållsförteckning:

Anonim

Företaget som gör din Android-telefon gör fel minne för Android-minnet. Eftersom bästa praxis och i vissa fall faktiska krav för åtkomst till Google Play inte följs, ser apputvecklare en ny uppsättning huvudvärk om apparna som de bygger måste fungera medan du tittar på en annan skärm eller har skärmen vänd av. Tack och lov har Urbandroid-teamet fått uppmärksamhet på saker med Dontkillmyapp.com. Här hittar du detaljerade beskrivningar av problemet såväl som ett resultatkort för populära Android-leverantörer som betygsätter varandras missbruk med 1-5 högar av skräp. Passande

Uttalandet på webbplatsens GitHub-sida förklarar:

I slutändan påverkas varje indie Android-utvecklare åtminstone delvis av denna fråga.

Vi på Urbandroid Team drabbas kraftigt av vår Sleep as Android-app och vi samlade så mycket information om hacks och lösningar att vi kände behov av att dela informationen. Vi började med att kontakta enskilda indieutvecklare med erbjudanden om utbyte av information, vilket ledde till idén om ett mer effektivt tillvägagångssätt i form av en öppen källkodswebbplats.

"Problemet" är att företagen som skapar telefoner har ändrat hur viktiga Android-komponenter som Doze fungerar; har byggt appar som är utformade för att aggressivt svepa och döda appar som använder systemresurser; och till och med bygga vitlistor som säger vilka appar som får köras medan de inte är på skärmen. Det gör att appar som behöver fungera i bakgrunden - som Urbandroid's Sleep som Android-app inte kan göra vad de var avsett att göra.

Allt detta faller på apputvecklarens öron, eftersom olyckliga kunder inte förstår hur minneshantering i Android fungerar (inte heller borde de behöva) och varför det inte bara isoleras till deras drabbade app. Olyckliga kunder gör för olyckliga utvecklare, vilket är fem högar med skit dåligt för oss alla.

Alla Android är inte öppna

Du kanske tänker, "Så vad? Android är öppen källkod och företag som använder den kan göra vad de vill med koden, " och till viss del skulle du ha rätt. Men allt detta ändras så fort en telefontillverkare vill ha åtkomst till Google Play.

Tillgång till Google Play Butik ges inte fritt - det finns ett avtal som båda sidor måste följa.

För att få åtkomst till Google Play krävs att vissa regler följs, av vilka många verkar godtyckliga vid första anblicken. Det är en större diskussion för en annan artikel eller två, men kärnan i det är att Google vill ha ett helt minimum av saker på varje telefon så att varje app i Play Store kommer att fungera så länge telefonen är på ett stöd version. Med andra ord, om en apps lista säger att det krävs att Android 4 eller högre ska köras, bör varje telefon som kör Android 4 eller högre kunna installera och använda appen. Inga undantag.

Det finns några detaljerade sätt som en utvecklare som vill eller behöver en app ska leva och arbeta i bakgrunden - när du inte aktivt tittar på skärmen - att göra det på ett sätt som är konsekvent i alla telefoner. Google kan sedan också förbättra andra delar av Android och veta vad man inte ska bråka med om den vill att alla appar fortfarande fungerar så att de kan försöka hålla sig bakåtkompatibla.

Det fungerar inte alltid. Varje person som har haft en Nexus- eller Pixel-telefon kommer att säga att nya versioner av Android ofta leder till att appar inte längre fungerar och att vissa aldrig uppdateras. Ibland måste ett beslut fattas och avskärmning av en gammal funktion för att ersätta den med något nytt händer. Och Google har stegat i sin egen röra en gång eller två och sköt upp saker, som den första utgåvan av Doze i Android 6.0.

Det är viktigt att vara konsekvent om du vill använda Googles andra produkter. Även med en öppen källkod.

Hur kom vi hit?

Smarttelefonstillverkare gör inte detta bara för skojs skull. Varje företag som skapar telefoner vill att du gillar en produkt du köper av dem nog att titta på dess märke nästa gång du köper en telefon. Om appar dödades utan anledning skulle det inte hjälpa till att hända.

När vi köper en telefon är det vanligtvis en sak som är nära toppen av listan över saker vi vill ha av den: lång batterilivslängd. Ett sätt att få längre batteritid är att begränsa vad en telefon kan göra; det är därför du bara behöver ladda en "dum" telefon ett par gånger per vecka. Det gör inte riktigt mycket, särskilt när det inte är i dina händer. Smarttelefoner behöver dock göra en hel del saker.

Att döda bakgrundsuppgifter kan vara bra för ditt batteri, men det gör din smartphone dum.

Google har ett system som sätter appar i "viloläge" när de inte aktivt gör någonting men kanske behöver i framtiden. Det har gjort mycket arbete - vissa bra, vissa dåliga - för att balansera saker så att du har en telefon som kan göra saker som att spåra dina steg, övervaka din sömn eller fungera som musikspelare medan skärmen är avstängd utan att tömma ditt batteri. Den förväntar sig att dessa metoder ska användas och regler som ska följas så att vi får den konsistensen från varje app i Play Store.

Från Dontkillmyapps lista är Nokia det exempel jag ska använda här, men listan över brottslingar inkluderar OnePlus, Sony och Samsung också. Till och med Google uppmanas att göra det svårt att undanta en app från att bli "Dozed". Nokia har en app på varje telefon som företaget tillverkar som kör Android Oreo eller högre som dödar varje bakgrundsprocess 20 minuter efter att skärmen har stängts av. Det betyder att fitnessappar aldrig kommer att fungera, men det betyder också att ditt larm inte kommer att slockna om du har Android P.

Hur kom vi till den punkt där våra smartphones inte får vara smarta? Eftersom vi krävde längre batteritid och företag som gör telefoner fattar också dåliga beslut att ge det till oss. Det finns inte många saker som kan göras till Android av en telefontillverkare som kommer att ha en stor inverkan på batteriets livslängd. En av de saker som kan göras är att döda appar som kanske inte behöver leva. När en av de dödade apparna behövde hålla sig vid liv fungerar det bara inte som avsett.

Google måste dra åt klämmorna

Jag hatar att säga detta. Android är ett öppen källkodsprojekt som har sett en otrolig utveckling av företag som inte heter Google under åren. Företag som använder Android bör göra vad de vill och driva varje gräns för att göra det bättre. Men sedan kommer vi tillbaka till den konsistensen för appar från Play Store-saken igen.

Användare - inklusive användare som är typen som känner och förstår ett problem som detta - förtjänar bättre. Google måste göra det hända när det gäller appar från sin butik, och ändra och verkställa vad som krävs för att göra det så. Gör det utan någon engagemang från användaren, och gör det konsekvent oavsett hur stort företaget "kränker" är eller hur många telefoner det säljer.

Vi förtjänar det.