2014-06-25 14 views
10

Es scheint, dass ein allgemeiner Fehler auftritt, wenn Cordova-Apps in den Hintergrund versetzt werden, um die Camera- oder Media Capture-Plugins zu verwenden ... der Android-Aktivitätsdienst wird angezeigt um nach Speicher zu suchen, um sich freizumachen und die Cordova-Aktivität zu beenden, so dass, wenn der Benutzer die Aufnahme-Aufgabe beendet, die App RESTARTS. Siehe SO hier fädeln:Android bewirkt, dass Cordova-Apps neu gestartet werden, wenn Cordova Camera- und Capture-Plugins verwendet werden

PhoneGap camera restarts the application

Diese insgesamt UX scheitern und würde sehr wahrscheinlich verhindern, dass ich durch die Freisetzung meine Cordova App. Die Menschen gehen nicht gerne damit um, dass ihre Fotos verloren gehen. Ich benutze Cordova 3.3 und eine etwas ältere Version des Capture-Plugins als Upgrade vor einem Monat, was zu brechenden Änderungen führte, und ich rollte zurück. Wie auch immer, es scheint, dass ein eigenes Plugin irgendwann jemand Vordergrund Kamera, die nie die App in OnStop Zustand zu gehen erlaubt genannt erstellt, die das Problem behoben:

https://code.google.com/p/foreground-camera-plugin/

Leider ist dieser Brauch Plugin schrecklich aus Datum (Cordova 2.4). Ist es möglich, dass die nativen Cordova-Plugins modifiziert werden, um dieses schreckliche Neustartverhalten zu verhindern? Gibt es Pläne dazu? Oder ist das nur möglich, wenn Sie ein völlig neues Kameraplug-in erstellen, das die native Kameraanwendung nicht verwendet?

Ich habe auf der Cordova Dev Liste aber noch keine Antwort geschrieben. Irgendwelche Gedanken darüber, wie diese Situation am besten zu lösen ist, werden geschätzt.

Danke.

+0

ich in letzter Zeit weniger Probleme mit diesem gehabt habe. Ich bin mir nicht sicher, was letztlich hilft, aber ich habe an anderer Stelle einen Ratschlag befolgt, um die Kamera-Apps von Drittanbietern zu deinstallieren und mein Gerät neu zu starten. Ich hatte zufällig ein paar Apps, die ich nicht benutzte (speziell VSCO und eine andere), und es scheint den Trick geschafft zu haben. Letztendlich ist das keine großartige Lösung, aber in der Zwischenzeit bringen zumindest App-Abstürze meine Demos nicht um. – mpsyp

+0

Hat jemand eine Lösung gefunden? –

Antwort

0

Sie können möglicherweise das gleiche Kamera-Plugin mit Ihrer App verwenden. Versuchen Sie, den RAM-Verbrauch vor dem Start des Plugins so weit wie möglich zu reduzieren.

  • Entfernen verborgener DOM-Knoten
  • Freie JavaScript RAM durch nicht genutzte Objekte/Instanzen löschen

Wir hatten diese Fragen auf Android 2.3 Telefone mit wenig RAM. Die Freigabe aller möglichen RAMs hat das Problem endgültig behoben. Die App wurde angehalten, während ein Foto gemacht wurde, nicht getötet und neu gestartet.

+0

Ich habe das gleiche Problem. Wie kann ich nicht verwendete Objekte und Instanzen erkennen und löschen? –

Verwandte Themen