Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Producenci telefonów mają problemy z zarządzaniem pamięcią Androida, a Google nic z tym nie robi

Spisu treści:

Anonim

Firma, która sprawia, że ​​Twój telefon z Androidem źle zarządza pamięcią Androida. Ponieważ nie są przestrzegane najlepsze praktyki, a w niektórych przypadkach rzeczywiste wymagania dotyczące dostępu do Google Play, programiści aplikacji widzą nowy zestaw problemów, jeśli tworzone przez nich aplikacje muszą działać, gdy patrzysz na inny ekran lub wyświetlasz poza. Na szczęście zespół Urbandroid zwrócił naszą uwagę na Dontkillmyapp.com. Tutaj znajdziesz szczegółowe opisy problemu, a także kartę wyników dla popularnych sprzedawców Androida oceniających poziom nadużyć dla każdego z 1-5 stosów badziewia. Dopasowywanie

Oświadczenie na stronie GitHub witryny wyjaśnia:

Ostatecznie ten problem dotyczy co najmniej niezależnego programisty Androida.

My w Urbandroid Team jesteśmy mocno dotknięci naszą aplikacją Sleep as Android i zebraliśmy tak wiele informacji o włamaniach i obejściach, że czuliśmy potrzebę udostępniania tych informacji. Zaczęliśmy od skontaktowania się z indywidualnymi programistami niezależnymi z ofertami wymiany informacji, co doprowadziło do pomysłu bardziej skutecznego podejścia w postaci strony internetowej typu open source.

„Problem” polega na tym, że firmy produkujące telefony zmieniły, jak ważne są komponenty Androida, takie jak Doze; zbudować aplikacje zaprojektowane w celu agresywnego zamiatania i zabijania aplikacji korzystających z zasobów systemowych; a nawet budowanie białych list, które mówią, które aplikacje mogą być uruchamiane, gdy nie są wyświetlane na ekranie. To sprawia, że ​​aplikacje, które muszą działać w tle - takie jak Urbandroid's Sleep jako aplikacja na Androida, nie mogą robić tego, co powinny.

Wszystko to spada na uszy twórców aplikacji, ponieważ niezadowoleni klienci nie rozumieją, jak działa zarządzanie pamięcią w Androidzie (ani nie powinni tego robić) i dlaczego nie jest on odizolowany od aplikacji, której dotyczy problem. Niezadowoleni klienci tworzą niezadowolonych programistów, co dla nas wszystkich stanowi pięć kup bzdur.

Nie wszystkie urządzenia z Androidem są otwarte

Być może myślisz: „Więc co? Android jest oprogramowaniem typu open source, a firmy, które go używają, mogą robić z kodem wszystko, co chcą”, i do pewnego stopnia miałbyś rację. Ale wszystko to zmienia się, gdy tylko producent telefonu chce uzyskać dostęp do Google Play.

Dostęp do Sklepu Google Play nie jest przyznawany swobodnie - istnieje umowa, której muszą przestrzegać obie strony.

Uzyskanie dostępu do Google Play wymaga przestrzegania pewnych zasad, z których wiele na pierwszy rzut oka wydaje się arbitralnych. To szersza dyskusja na kolejny artykuł lub dwa, ale w istocie chodzi o to, że Google chce mieć absolutnie minimum rzeczy na każdym telefonie, aby każda aplikacja w Sklepie Play działała, dopóki telefon jest obsługiwany wersja. Innymi słowy, jeśli na liście aplikacji jest napisane, że do uruchomienia wymagany jest system Android 4 lub nowszy, każdy telefon z Androidem 4 lub nowszym powinien mieć możliwość zainstalowania aplikacji i korzystania z niej. Bez wyjątków.

Istnieje kilka szczegółowych sposobów, w jakie programista, który chce lub potrzebuje aplikacji, aby działała w tle - gdy nie patrzysz aktywnie na ekran - robi to w sposób spójny na wszystkich telefonach. Google może następnie ulepszyć inne części Androida i wiedzieć, z czym nie zadzierać, jeśli chce, aby wszystkie aplikacje nadal działały, więc może spróbować zachować zgodność z poprzednimi wersjami.

To nie zawsze działa. Każda osoba, która miała telefon Nexus lub Pixel, powie Ci, że nowe wersje Androida często powodują, że aplikacje przestają działać, a niektóre nigdy się nie aktualizują. Czasami trzeba podjąć decyzję i dzieje się odcięcie starej funkcji, aby zastąpić ją czymś nowym. Google wpakował się we własny bałagan raz lub dwa i spartaczył sprawy, takie jak pierwsze wydanie Doze na Androida 6.0.

Ważne jest zachowanie spójności, jeśli chcesz korzystać z innych produktów Google. Nawet z oprogramowaniem typu open source.

Jak się tu znaleźliśmy?

Producenci smartfonów nie robią tego tylko dla zabawy. Każda firma produkująca telefony chce, aby polubiłeś produkt, który kupujesz od nich na tyle, aby spojrzeć na jej markę przy następnym zakupie telefonu. Gdyby aplikacje były zabijane bez powodu, nie pomogłoby to.

Kiedy kupujemy telefon, zwykle jedna rzecz jest na szczycie listy rzeczy, których od niego oczekujemy: długa żywotność baterii. Jednym ze sposobów uzyskania dłuższej żywotności baterii jest ograniczenie możliwości telefonu; dlatego musisz ładować „głupi” telefon tylko kilka razy w tygodniu. Naprawdę niewiele robi, zwłaszcza gdy nie jest w twoich rękach. Jednak smartfony muszą robić wiele rzeczy.

Zabijanie zadań w tle może być dobre dla baterii, ale powoduje, że smartfon jest głupi.

Google ma system, który wprowadza aplikacje w stan „uśpienia”, gdy nie robią nic, ale mogą potrzebować w przyszłości. Wykonał dużo pracy - niektóre dobre, a niektóre złe - aby zrównoważyć rzeczy, dzięki czemu masz telefon, który może wykonywać takie czynności, jak śledzenie kroków, monitorowanie snu lub działanie jako odtwarzacz muzyki, gdy ekran jest wyłączony bez rozładowywania baterii. Oczekuje, że te metody zostaną zastosowane, a zasady będą przestrzegane, dzięki czemu uzyskamy spójność z każdej aplikacji w Sklepie Play.

Z listy Dontkillmyapp Nokia jest przykładem, którego tu użyję, ale lista przestępców obejmuje również OnePlus, Sony i Samsung. Nawet sam Google jest wzywany do utrudniania wyłączenia aplikacji z „Dozed”. Nokia zawiera aplikację na każdy telefon produkowany przez firmę z systemem Android Oreo lub nowszym, który zabija każdy proces w tle 20 minut po wyłączeniu ekranu. Oznacza to, że aplikacje fitness nigdy nie będą działać, ale oznacza to również, że alarm nie wyłączy się, jeśli masz system Android P.

Jak doszliśmy do punktu, w którym nasze smartfony nie mogą być inteligentne? Ponieważ wymagaliśmy dłuższej żywotności baterii, a firmy produkujące telefony również podejmują złe decyzje, aby nam to dać. Producent telefonu nie może wiele zrobić na Androidzie, co miałoby duży wpływ na żywotność baterii. Jedną z rzeczy, które można zrobić, jest zabicie aplikacji, które niekoniecznie muszą być żywe. Kiedy jedna z zabitych aplikacji musiała pozostać przy życiu, po prostu nie działa zgodnie z przeznaczeniem.

Google musi dokręcić zaciski

Nienawidzę tego mówić. Android to projekt typu open source, który od kilku lat rozwija się niesamowicie. Firmy korzystające z Androida powinny robić, co chcą i przesuwać każdą granicę, aby było lepiej. Ale potem wracamy do tej spójności dla aplikacji ze Sklepu Play.

Użytkownicy - w tym użytkownicy, którzy znają i rozumieją taki problem - zasługują na coś lepszego. Google musi to zrobić, jeśli chodzi o aplikacje ze swojego sklepu, a także zmienić i egzekwować wszystko, co konieczne, aby to zrobić. Rób to bez żadnego udziału użytkownika i rób to konsekwentnie, bez względu na to, jak duża jest firma „obrażająca” lub ile telefonów sprzedaje.

Zasługujemy na to.