Return to search

Background scheduling in Android and its effect on battery usage / Schemaläggning av bakgrundsarbete i Android och dess effekt för batterianvändning

Background network communication is an important feature for applications running on smartphone devices. When using the network component on a smartphone, only a portion of the time that the component is awake is used for the transfer. The rest of the time when the component uses energy is known as tail energy. Tail energy can make up for a majority of the battery used for network communication. One approach to lower the overhead energy is to batch transfers instead of running them separately. Another way is to limit network access for applications who use it too often from the background. This thesis investigates improvements in Android from version 4.4 to 5.0 and 7.0 and the scheduling APIs AlarmManager and JobScheduler in how they handle background work. The two factors investigated are how well it batches pending tasks and how often applications in the background are allowed to access the network. The results show an advantage to JobScheduler over AlarmManager in how well it batches background work as well as an advantage to newer versions of Android over older. The results suggest an impact from tail energy and that it could be relevant to batch background work. / Nätverkskommunikation i bakgrunden är en viktig funktionalitet för smartphone-applikationer. När nätverksmodulen på en smartphone används så går enbart en del av tiden som den är igång åt till kommunikationen. Resten av tiden när enheten använder energi kallas för ”tail energy”. ”Tail energy” kan utgöra en majoritet av energin som går åt till nätverkskommunikation. En metod för att minska den energiåtgången är att gruppera nätverksanrop för att minska den totala mängden overhead-energi. Ett annat sätt är att begränsa åtkomsten till nätverk för applikationer som använder det för ofta från bakgrunden. Den här rapporten undersöker förbättringar i Android från version 4.4 till 5.0 och 7.0 samt schemaläggnings-APIerna AlarmManager och JobScheduler sett till hur de hanterar bakgrundsarbete. De två faktorerna som avsågs var hur väl de grupperar anrop och hur ofta applikationer tilläts använda nätverksresurser från bakgrunden. Resultaten visar en fördel för JobScheduler över AlarmManager sett till hur väl de grupperar bakgrundsarbete. De visar även en fördel för nyare versioner av Android över äldre. Resultaten implicerar en påverkan av ”tail energy” och påvisar att det kan vara relevant att gruppera bakgrundsarbete.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-217509
Date January 2017
CreatorsBjörkholm, Viktor
PublisherKTH, Skolan för datavetenskap och kommunikation (CSC)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0135 seconds