Neustarts der Canvas-App in der mobilen Power Apps-App verhindern

Wenn Sie eine Canvas-App in der mobilen Power Apps-App ausführen, kann sie aus folgenden Gründen neu gestartet werden:

  • Die App verwendet zu viel Gesamtspeicher.
  • Die App verwendet zu viel Arbeitsspeicher oder Verarbeitung auf einmal.
  • Die App wird in den Hintergrund verschoben: wenn Ihre spezifische App entweder ein natives Steuerelement verwendet (wie Bild hinzufügen oder Barcodescanner) oder die mobile Power Apps App wird vom Benutzer in den Hintergrund gestellt.

Diese Speicher- und Verarbeitungsbeschränkungen, die besonders streng sind, wenn die mobile Power Apps App im Hintergrund ausgeführt wird, werden vom Betriebssystem (Android oder iOS) festgelegt. Wenn die App mehr Ressourcen verwendet als auf Ihrem Gerät verfügbar sind, wird die App zurückgesetzt. Dies ist so ähnlich, wie wenn Sie eine große, komplexe Webseite besuchen und der Webbrowser die Seite anhält, wenn sie zu viel Energie verbraucht.

Auf Android Geräten kann dieser App-Neustart wie ein Absturz aussehen, da die App vollständig geschlossen wird und der Benutzer zum Startbildschirm des Geräts weitergeleitet wird.

Lernen Sie mit diesem Artikel, wie Sie verhindern, dass Canvas-App auf Power Apps mobil neu gestartet wird.

Tipps zum Verhindern für Endbenutzer

Die größten Verbesserungen werden zwar normalerweise von App-Erstellern vorgenommen, doch hier einige Tipps, die Endbenutzer verwenden können, um das Auftreten von App-Neustarts zu verringern:

  • Wählen Sie in der Power Apps Mobile App auf der Benutzerprofilseite Cache löschen, um gespeicherte Daten zu entfernen. Beachten Sie, dass dies nur getan werden sollte, wenn der Endbenutzer über Daten verfügt, da durch das Leeren des Caches alle SaveData- oder App-Caches entfernt werden.
  • Stellen Sie auf Android-Geräten sicher, dass die mobile Power Apps-App priorisiert ist. Schlagen Sie in Ihrem Gerätehandbuch nach, um die App durch Einstellungen wie Akkuoptimierung und die Konfiguration des App-Ruhezustands am Laufen zu halten.
  • Schließen Sie alle laufenden Apps mit Ausnahme der mobilen Power Apps App und entfernen Sie alle nicht benötigten Daten vom Gerät, z. B. nicht verwendete Apps oder Bilder.
  • Auch wenn es umständlich ist, ziehen Sie in Betracht, die App langsamer zu verwenden – machen Sie eine kleine Pause zwischen den Bildschirmnavigationen oder nach dem Fotografieren oder Speichern oder Laden von Daten.

Tipps zum Verhindern für App-Ersteller

Die größten Speicherverbesserungen zur Reduzierung von App-Neustarts können von App-Erstellern vorgenommen werden. Wenn Sie eine App erstellen, denken Sie daran, die App so zu optimieren, dass sie auf dem am wenigsten spezifizierten Gerät ausgeführt werden kann, das Ihre Endbenutzer verwenden werden, und halten Sie sich an die Best Practices zur Ressurcennutzung.

Hinweis

Da App-Neustarts durch das Betriebssystem verursacht werden, das die Menge an Arbeitsspeicher und Verarbeitung beschränkt, die eine App nutzen kann, ist möglicherweise eine Kombination der unten vorgeschlagenen Abhilfemaßnahmen erforderlich, um App-Neustarts zu minimieren. Je mehr Speicher und Verarbeitung insgesamt und gleichzeitig reduziert werden können, desto unwahrscheinlicher ist ein App-Neustart.

Tipp

Sie können eine mobile App-Sitzung mit Monitor verbinden, um zu sehen, wo Ihre App schwere verarbeitungs- oder speicherintensive Vorgänge durchführt. Monitor ist ein Tool, das Entwicklern einen umfassenden Überblick darüber bietet, was eine App tut und wie sie es tut, indem es alle wichtigen Aktivitäten protokolliert, die in der App auftreten, während sie ausgeführt wird.

Problem Grundursache Abhilfe
Die App wird neu gestartet, wenn ein bestimmter Bildschirm geladen wird. Wenn auf einem bestimmten Bildschirm zu viele Formeln gleichzeitig ausgeführt werden, kann die App zu verarbeitungsintensiv sein und vom Betriebssystem neu gestartet werden. Begrenzen Sie die Anzahl der Steuerelemente auf einem Bildschirm und die Anzahl der Formeln, die ausgeführt werden, wenn der Bildschirm geladen wird. Dies erfordert möglicherweise eine Aufteilung der Bildschirme.

Vermeiden Sie die Abhängigkeit von Steuerelementen zwischen Bildschirmen.

Verhindern Sie, dass der Benutzer in Momenten mit hoher Verarbeitungsleistung aktiv wird. Wenn zum Beispiel eine große Galerie mit mehreren Filtern und Suchen geladen wird.

Erwägen Sie die Verwendung von benannten Formeln.

Erwägen Sie die Verwendung der App-Einstellung Verzögertes Laden.
Die App wird nach mehreren Bildschirmnavigationen neu gestartet. Auf den Bildschirmen treten Speicherlecks auf, was zu einer erhöhten Speichernutzung führt, wenn der Benutzer durch die App navigiert. Aktivieren Sie die App-Einstellung Zuletzt besuchte Bildschirme im Arbeitsspeicher beibehalten. Dies erhöht zwar kurzfristig die Gesamtspeichernutzung, da der Bildschirm im Speicher erhalten bleibt, aber über mehrere Bildschirmnavigationen hinweg werden Speicherlecks verhindert.
Die App wird neu gestartet, wenn Sie SaveData/LoadData ausführen oder Datenverbindungen verwenden. SaveData und Datenverbindungen erhöhen den Gesamtspeicher, der von der App verwendet wird. SaveData ist ebenfalls ein verarbeitungsintensiver Vorgang. Das Einbringen großer Datenmengen in die App und das Speichern dieser Daten für die Offline-Nutzung (insbesondere von Medieninhalte und Dateien) kann dazu führen, dass die App den zugewiesenen Speicher überschreitet und das Betriebssystem die App neu startet. Optimieren Sie die Datenmenge, die über Datenverbindungen in die App eingebracht und über SaveData gespeichert wird.

Reduzieren Sie nach Möglichkeit die Anzahl der SaveData-Aufrufe.

Die Daten, die in eine App fließen, lassen sich ebenfalls reduzieren, wenn Sie die App-Einstellung Explizite Spaltenauswahl aktivieren und die App-Einstellung Datensatzumfang 1:n- und n:n-Beziehungen deaktivieren.
Die App wird neu gestartet, wenn das „Kamera“-Steuerelement verwendet wird. Das „Kamera“-Steuerelement speichert das aufgenommene Bild im Arbeitsspeicher. Dies kann die Arbeitsspeichernutzung der App steigern, insbesondere, wenn das aufgenommene Bild in Variablen oder SaveData unter Verwendung der Eigenschaft OnStream gespeichert wird. Speichern Sie keine Bilder außer dem zuletzt aufgenommenen.

Verwenden Sie Foto anstatt Stream, um nur Bilder aufzunehmen, wenn der Benutzer auf die Kamera tippt.

Wenn Sie Stream verwenden müssen, setzen Sie die Eigenschaft StreamRate so hoch wie möglich, um die Anzahl der Aktualisierungen zu reduzieren.
Die App wird neu gestartet, wenn das Steuerelement Bild hinzufügen verwendet wird. Das Steuerelement Bild hinzufügen speichert den ausgewählten Medieninhalt im Arbeitsspeicher. Aufgrund der Größe der Medieninhalte kann zu einer erheblichen Arbeitsspeicherauslastung führen. Erwägen Sie, den Ort zu ändern, an dem die Medieninhalte erfasst werden.

Erwägen Sie, die Eigenschaft UseMobileCamera zu deaktivieren, damit Benutzer nur Medien aus der Galerie/Foto-Mediathek auswählen können.

Erwägen Sie die Verwendung des „Attachment“-Steuerelements (als Teil eines Formulars), um nur Dateien auszuwählen, anstatt sie mit der Kamera zu erfassen.

Erwägen Sie, zum „Kamera“-Steuerelement zu wechseln.
Die App wird neu gestartet, wenn native Steuerelemente wie Bild hinzufügen, Barcodescanner/-leser, In MR anzeigen, Messkamera und andere verwendet werden. Native Steuerelemente können die App in den Hintergrund versetzen, wo das Betriebssystem strengere Speicherbeschränkungen hat, bevor die App neu gestartet wird. Stellen Sie sicher, dass alle speicher- und verarbeitungsintensiven Vorgänge abgeschlossen sind, bevor Sie diese Steuerelemente verwenden. Deaktivieren Sie beispielsweise das Steuerelement Bild hinzufügen, bis alle SaveData-Vorgänge abgeschlossen sind.

Erwägen Sie den Wechsel zu einem anderen Steuerelement wie Kamera statt Bild hinzufügen.
App-Neustarts erfolgen für eine Untergruppe von Geräten. Geräte haben unterschiedliche Mengen an verfügbarem Arbeitsspeicher und Verarbeitung. Beispielsweise sind ältere Geräte aufgrund ihrer geringeren verfügbaren Verarbeitung anfälliger für App-Neustarts.

Das Ausführen anderer Apps kann auch die verfügbare Verarbeitungsmenge reduzieren. In ähnlicher Weise können andere installierte Apps und viele auf dem Gerät gespeicherte Fotos/Medien Arbeitsspeicher beanspruchen, wodurch der für die App verfügbare Arbeitsspeicher reduziert wird.
Verweisen Sie Ihre Benutzer auf die oben aufgeführten Tipps im Abschnitt Tipps zur Verhinderung für Endbenutzer.

Erwägen Sie, in Geräte zu investieren, die die Leistungsanforderungen Ihrer App erfüllen.
Es kommt weiterhin zu App-Neustarts. Die Arbeitsspeichernutzung wird davon beeinflusst, wie die Canvas-App erstellt wird. Stellen Sie sicher, dass Ihre App Best Practices befolgt, um die Leistung sicherzustellen, die Arbeitsspeichernutzung und die Verarbeitung zu reduzieren. Optimieren Sie Ihre App anhand der folgenden Best Practices.

Best Practices zum Erstellen leistungsstarker Apps