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.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-217509 |
Date | January 2017 |
Creators | Björkholm, Viktor |
Publisher | KTH, Skolan för datavetenskap och kommunikation (CSC) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.002 seconds