Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Universella Windows-appar bör fungera konsekvent i alla enhetsfamiljer. På batteridrivna enheter är strömförbrukningen en viktig faktor i användarens övergripande upplevelse av din app. Batteritid hela dagen är en önskvärd funktion för varje användare, men det kräver effektivitet från all programvara som är installerad på enheten, inklusive din egen.
Beteende för bakgrundsaktiviteter är utan tvekan den viktigaste faktorn i den totala energikostnaden för en app. En bakgrundsaktivitet är alla programaktiviteter som har registrerats med systemet för att köras utan att appen är öppen. Se Skapa och registrera en bakgrundsaktivitet utanför processen för mer information.
Behörigheter för bakgrundsaktivitet
På stationära och mobila enheter som kör Windows 10, version 1607 eller senare kan användarna visa sin "Batterianvändning per app" i avsnittet Batteri i Windows-inställningar. Här visas en lista över appar och procentandelen batteritid som varje app har förbrukat (av den mängd batteritid som har använts sedan den senaste laddningen). För UWP-appar i den här listan kan användarna välja appen för att öppna kontroller relaterade till bakgrundsaktivitet.
Bakgrundsbehörigheter för mobil
På mobila enheter visas en lista över radioknappar som anger behörighetsinställningen för bakgrundsaktivitet för den appen. Bakgrundsaktivitet kan ställas in på "Alltid tillåten", "Tillåts aldrig" eller "Hanteras av Windows", vilket innebär att appens bakgrundsaktivitet regleras av systemet enligt ett antal faktorer.
Bakgrundsbehörigheter på skrivbordet
På stationära enheter visas inställningen "Hanterad av Windows" som en växlingsknapp, inställd på På som standard. Om användaren växlar till Avvisas en kryssruta med vilken de kan definiera behörigheter för bakgrundsaktivitet manuellt. När rutan är markerad tillåts appen att köra bakgrundsaktiviteter hela tiden. När rutan är avmarkerad inaktiveras bakgrundsaktiviteten.
I din applikation kan du använda uppräkningsvärdet BackgroundAccessStatus, som returneras av ett anrop till metoden BackgroundExecutionManager.RequestAccessAsync(), för att fastställa den aktuella behörighetsinställningen för bakgrundsaktivitet.
Allt detta innebär att om din app inte implementerar ansvarsfull bakgrundsaktivitetshantering kan användaren neka bakgrundsbehörighet till din app helt och hållet, vilket inte är önskvärt för någon av parterna. Om din app har nekats behörighet att köras i bakgrunden men kräver bakgrundsaktivitet för att slutföra en åtgärd för användaren kan du meddela användaren och peka dem på Windows-inställningar. Detta kan du göra genom att starta Windows-inställningar på sidan Bakgrundsappar eller Information om batterianvändning.
Arbeta med funktionen Batterisparfunktion
Batterisparfunktioner är en funktion på systemnivå som användarna kan konfigurera i Inställningar. Den stänger av all bakgrundsaktivitet för alla appar när batterinivån sjunker under ett användardefinierat tröskelvärde, förutom för bakgrundsaktiviteten för appar som har angetts till "Alltid tillåtet".
Kontrollera statusen för batterisparläge inifrån appen genom att referera till egenskapen PowerManager.EnergySaverStatus. Det är ett enumvärde: antingen EnergySaverStatus.Disabled, EnergySaverStatus.Off eller EnergySaverStatus.On. Om din app kräver bakgrundsaktivitet och inte är inställd på "Alltid tillåten" bör den hantera EnergySaverStatus.På genom att meddela användaren att de angivna bakgrundsaktiviteterna inte körs förrän Batterisparfunktionen är avstängd. Även om bakgrundsaktivitetshantering är det primära syftet med funktionen Batterisparfunktioner kan appen göra ytterligare justeringar för att ytterligare spara energi när batterisparfunktionen är på. Om batterisparfunktionen är på kan appen minska användningen av animeringar, stoppa platssökning eller fördröja synkroniseringar och säkerhetskopior.
Optimera bakgrundsuppgifter ytterligare
Följande är ytterligare steg som du kan vidta när du registrerar dina bakgrundsuppgifter för att göra dem mer batterimedvetna.
Använda en underhållsutlösare
Ett MaintenanceTrigger- objekt kan användas i stället för ett SystemTrigger- objekt för att avgöra när en bakgrundsaktivitet startar. Uppgifter som använder underhållsutlösare körs bara när enheten är ansluten till nätström och de får köras längre. Anvisningar finns i Använda en underhållsutlösare.
Använd systemvillkorstypen BackgroundWorkCostNotHigh
Systemvillkoren måste uppfyllas för att bakgrundsaktiviteter ska kunna köras (se Ange villkor för att köra en bakgrundsaktivitet mer). Bakgrundsarbetskostnaden är ett mått som anger den relativa energipåverkan av att köra bakgrundsaktiviteten. En uppgift som körs när enheten är ansluten till nätström markeras som låg (liten/ingen inverkan på batteriet). En uppgift som körs när enheten är på batteri och skärmen är avstängd markeras som hög eftersom det förmodligen är minimal programaktivitet som körs på enheten, så bakgrundsaktiviteten skulle ha en större relativ kostnad. En aktivitet som körs när enheten är på batteridrift med skärmen aktiverad markeras som medelhög, eftersom det förmodligen redan finns programaktivitet igång, och bakgrundsaktiviteten skulle öka energikostnaden något. BackgroundWorkCostNotHigh systemvillkoret fördröjer helt enkelt uppgiftens möjlighet att köras tills skärmen antingen är på eller enheten är ansluten till nätström.
Testa batterieffektivitet
Se till att testa din app på verkliga enheter för scenarier med hög energiförbrukning. Det är en bra idé att testa din app på många olika enheter, med Batterisparfunktionen på och av, och i miljöer med varierande nätverksstyrka.