Delen via


Opnieuw starten van canvas-apps in de mobiele Power Apps-app voorkomen

Wanneer u een canvas-app uitvoert in Power Apps Mobile, kan deze om de volgende redenen opnieuw worden gestart:

  • De app gebruikt in totaal te veel geheugen.
  • De app gebruikt op enig moment te veel geheugen of verwerkingscapaciteit.
  • De app wordt naar de achtergrond verplaatst. Dit kan het geval zijn wanneer uw specifieke app een systeemeigen besturingselement gebruikt (zoals Afbeelding toevoegen of Streepjescodescanner) of wanneer de app Power Apps mobiel door de gebruiker naar de achtergrond wordt verplaatst.

Deze geheugen- en verwerkingsbeperkingen, die vooral streng zijn wanneer de app Power Apps mobiel op de achtergrond wordt uitgevoerd, worden opgelegd door het besturingssysteem (Android of iOS). Als de app meer bronnen gebruikt dan er op uw apparaat beschikbaar zijn, wordt de app opnieuw ingesteld. Dit is vergelijkbaar met wanneer u een grote complexe webpagina bezoekt en de webbrowser de pagina onderbreekt als deze te veel stroom verbruikt.

Op Android-apparaten kan het opnieuw starten van de app eruitzien als een crash, omdat de app volledig is gesloten en de gebruiker naar het startscherm van het apparaat wordt geleid.

Gebruik dit artikel voor meer informatie over het voorkomen van opnieuw starten van canvas-apps op Power Apps mobiel.

Preventietips voor eindgebruikers

Hoewel de grootste verbeteringen meestal worden aangebracht door app-makers, volgen hier enkele tips die eindgebruikers kunnen gebruiken om het aantal keren dat apps opnieuw worden gestart te verminderen:

  • Selecteer in de app Power Apps mobiel op de gebruikersprofielpagina de optie Cache wissen om opgeslagen gegevens te verwijderen. Merk op dat dit alleen moet worden gedaan als de eindgebruiker gegevens heeft, aangezien door het wissen van de cache alle SaveData of app-caches worden verwijderd.
  • Zorg ervoor dat op Android-apparaten de mobiele Power Apps-app prioriteit heeft. Raadpleeg de handleiding van uw apparaat om de app actief te houden via de instellingen, zoals batterijoptimalisatie en app-slaapconfiguratie.
  • Sluit alle actieve apps, behalve de app Power Apps mobiel, en verwijder alle onnodige gegevens van het apparaat, zoals ongebruikte apps of afbeeldingen.
  • Hoewel dit omslachtig is, kunt u overwegen de app langzamer te gebruiken: pauzeer even tussen schermnavigaties of na het maken van foto's of het opslaan of laden van gegevens.

Preventietips voor app-makers

De grootste geheugenverbeteringen om het opnieuw starten van apps te verminderen, kunnen worden aangebracht door app-makers. Vergeet bij het maken van een app niet niet de app te optimaliseren voor gebruik op het apparaat met de laagste specificatie dat uw eindgebruikers zullen gebruiken en volg best practices op het gebied van resourcegebruik.

Notitie

Aangezien het opnieuw starten van apps wordt veroorzaakt doordat het besturingssysteem de hoeveelheid geheugen en verwerkingscapaciteit van een app beperkt, is mogelijk een combinatie van de hieronder voorgestelde maatregelen nodig om het opnieuw starten van apps tot een minimum te beperken. Hoe meer het gebruik van geheugen en verwerkingscapaciteit kan worden verminderd, zowel in totaal als op enig moment, des te kleiner de kans dat een app opnieuw wordt gestart.

Tip

U kunt een mobiele app-sessie verbinden met Monitor om te zien waar uw app zware verwerking of geheugenintensieve bewerkingen uitvoert. Monitor is een tool die makers een diepgaand inzicht biedt in wat een app doet en hoe deze dat doet door alle belangrijke activiteiten die in de app plaatsvinden te registreren terwijl de app wordt uitgevoerd.

Probleem Hoofdoorzaak Correctie
App wordt opnieuw gestart bij het laden van een specifiek scherm. Als op een specifiek scherm op enig moment te veel formules tegelijk worden uitgevoerd, kan de app te veel verwerkingscapaciteit gebruiken en opnieuw worden gestart door het besturingssysteem. Beperk het aantal besturingselementen op een scherm en het aantal formules dat wordt uitgevoerd wanneer het scherm wordt geladen, waardoor het mogelijk is dat schermen moeten worden opgesplitst.

Vermijd afhankelijkheid van besturingselementen tussen schermen.

Voorkom dat de gebruiker actie kan ondernemen tijdens momenten waarop zware verwerking plaatsvindt. Bijvoorbeeld wanneer een grote galerie met meerdere filters en zoekopdrachten wordt geladen.

Overweeg om benoemde formules te gebruiken.

Overweeg om de app-instelling Uitgestelde belasting te gebruiken.
App wordt opnieuw gestart na meerdere schermnavigaties. Er zijn geheugenlekken op de schermen, waardoor het geheugengebruik toeneemt terwijl de gebruiker door de app navigeert. Schakel de app-instelling Recent geopende schermen in het geheugen bewaren in. Hoewel hiermee het totale geheugengebruik op korte termijn wordt verhoogd, aangezien het scherm in het geheugen wordt bewaard, zal het bij meerdere schermnavigaties geheugenlekken voorkomen.
App wordt opnieuw gestart bij uitvoering van SaveData/LoadData of bij gebruik van gegevensverbindingen. SaveData en gegevensverbindingen verhogen beide de totale hoeveelheid geheugen die door de app wordt gebruikt. SaveData is bovendien een verwerkingsintensieve bewerking. Als u grote hoeveelheden gegevens in de app invoert en die gegevens opslaat voor offline gebruik (vooral media-inhoud en bestanden), kan de app de toegewezen hoeveelheid geheugen overschrijden, waardoor het besturingssysteem de app opnieuw start. Optimaliseer de hoeveelheid gegevens die via gegevensverbindingen in de app worden binnengebracht en worden opgeslagen via SaveData.

Verminder waar mogelijk het aantal SaveData-aanroepen.

De hoeveelheid gegevens die in de app wordt ingevoerd kan tevens worden verminderd door inschakeling van de app-instelling Expliciete kolomselectie en uitschakeling van de app-instelling Een-op-veel- en veel-op-veel-relaties registreren.
App wordt opnieuw gestart bij gebruik van het besturingselement Camera. Het besturingselement Camera slaat de vastgelegde afbeelding op in het geheugen. Dit kan het geheugengebruik van de app vergroten, met name als de vastgelegde afbeelding wordt opgeslagen in variabelen of SaveData via de eigenschap OnStream. Sla geen andere afbeeldingen op dan de laatst vastgelegde.

Gebruik Foto in plaats van Stream om alleen afbeeldingen vast te leggen wanneer de gebruiker op de camera tikt.

Als u Stream moet gebruiken, stelt u de eigenschap StreamRate in op een zo hoog mogelijke waarde om het aantal updates te verminderen.
App wordt opnieuw gestart bij gebruik van het besturingselement Afbeelding toevoegen. Het besturingselement Afbeelding toevoegen slaat de geselecteerde media-inhoud op in het geheugen. Vanwege de omvang van de media-inhoud kan dit resulteren in een aanzienlijke geheugendruk. Overweeg om te wijzigen waar de media-inhoud wordt vastgelegd.

Overweeg om de eigenschap UseMobileCamera uit te schakelen, zodat gebruikers alleen media uit de galerie/fotobibliotheek kunnen selecteren.

Overweeg het besturingselement Attachment te gebruiken (als onderdeel van een formulier) om alleen bestanden te selecteren in plaats van deze vast te leggen met de camera.

Overweeg om over te schakelen naar het besturingselement Camera.
App wordt opnieuw gestart bij gebruik van systeemeigen besturingselementen zoals Afbeelding toevoegen, Streepjescodescanner/Streepjescodelezer, Weergeven in MR, Meetcamera en andere. Systeemeigen besturingselementen kunnen de app naar de achtergrond verplaatsen waar het besturingssysteem strengere geheugenbeperkingen heeft voordat de app opnieuw wordt gestart. Zorg ervoor dat alle geheugen- en verwerkingsintensieve bewerkingen zijn voltooid voordat u deze besturingselementen gebruikt. Schakel bijvoorbeeld het besturingselement Afbeelding toevoegen uit totdat alle SaveData-bewerkingen zijn voltooid.

Overweeg om over te schakelen naar een ander besturingselement zoals Camera in plaats van Afbeelding toevoegen.
Apps worden opnieuw gestart voor een subset van apparaten. Apparaten hebben verschillende hoeveelheden geheugen en verwerkingscapaciteit beschikbaar. Oudere apparaten zijn bijvoorbeeld vatbaarder voor het opnieuw starten van apps vanwege hun geringere beschikbare verwerkingscapaciteit.

Als er andere apps worden uitgevoerd, kan ook de hoeveelheid beschikbare verwerkingscapaciteit worden verminderd. Ook kunnen andere geïnstalleerde apps en veel foto's/media die op het apparaat zijn opgeslagen geheugen in beslag nemen, waardoor de beschikbaarheid voor de app afneemt.
Verwijs uw gebruikers naar de bovenstaande tips in onze sectie Preventietips voor eindgebruikers.

Overweeg te investeren in apparaten die voldoen aan de prestatiebehoeften van uw app.
Het opnieuw starten van apps gaat door. Het geheugengebruik wordt beïnvloed door de manier waarop de canvas-app is gemaakt. Zorg ervoor dat uw app best practices volgt om de prestaties te helpen waarborgen en het gebruik van geheugen en verwerkingscapaciteit te verminderen. Optimaliseer uw app volgens de onderstaande best practices.

Best practices voor het bouwen van krachtig presterende apps