Öffnen Sie die Kamera in einem anderen Prozess

Einer meiner Apps hat eine ernsthafte Aktivität Erholung Problem in einigen Kitkat Samsung Geräte. Das Problem tritt häufiger auf, wenn man fotografiert, und es wird nicht in beschissenen Jellybean Samsung s mit der Hälfte der RAM beobachtet. Protokolle zeigen einen niedrigen Speicherbedingung, obwohl keine OutOfMemoryException s geworfen werden. Ich denke, es gibt eine aggressivere Aktivität Schließung Politik in Kitkat (oder auch die Standard-Kamera-App ist undicht).

Ich frage mich, ob das Betriebssystem meine Aktivitäten schließt, wenn das App meiner App hoch ist, oder stattdessen schließt es sie, wenn der gesamte Speicher, der von allen Apps verwendet wird, hoch ist. Wenn das Betriebssystem eine pro-prozess-Schwelle hatte, dann könnte das Öffnen der Kamera in einem anderen Prozess helfen.

  • ActionBar-Menüpunkte verschwinden in NestedFragments
  • Adb-Shell-Befehle, um Einstellungen zu ändern oder Aufgaben auf einem Telefon auszuführen
  • Ich bekomme listView.getChildCount (), ist nach der Einstellung des Arrayadapters 0?
  • Wie kann man die Standardtextfarbe mit benutzerdefiniertem Design ändern?
  • Gibt es eine eindeutige Android-Geräte-ID?
  • Android Studio Emulator E / AudioFlinger Fehlermeldung
  • Ich weiß, dass es möglich ist, einen Dienst in seinem eigenen Prozess mit dem process im Manifest zu starten. Angenommen, kein gleichwertiges Attribut existiert für Activities , wenn ich einen Proxy-Service in seinem eigenen Prozess gestartet und dann eine Aktivität von diesem Dienst gestartet würde, würde die Aktivität auch in diesem Prozess laufen?

  • Wie macht man eine lineareLayout teilweise transparent in Android?
  • Android Emulator http-Proxy SSL Handshake Ausfall
  • Android Google Plus API - PeopleApi.loadConnected gibt 0 Personen zurück
  • Streaming von Video-Kamera auf Server
  • Unit-Test Erstellen einer SQLite-Datenbank mit Spock und Robospock
  • Jeder WebKit-basierte Browser stürzt mit Omniture auf Websites ab. Warum?
  • One Solution collect form web for “Öffnen Sie die Kamera in einem anderen Prozess”

    Das beschriebene Verhalten ist mit der Dokumentation der Anwendungsgrundlagen völlig einverstanden, aus der klar ist, dass "die Kamera in einem anderen Prozess eröffnet wird" Ihnen nicht weiterhelfen wird, nur weil dies bereits geschehen ist:

    Wenn das System eine Komponente startet, startet es den Prozess für diese App (falls noch nicht läuft) und instanziiert die für die Komponente benötigten Klassen. Wenn z. B. die App die Aktivität in der Kamera-App startet, die ein Foto aufnimmt, läuft diese Aktivität im Prozess, der zur Kamera-App gehört, nicht im Prozess Ihrer App.

    Also, wenn die Kamera-App in den Vordergrund gebracht wird, geht deine App in den Hintergrund, was es zu einem der Kandidaten macht, die vom System getötet werden sollen, wenn es nach dem Prozess und dem Anwendungslebenszyklus niedrig ist. Du erkennst ein normales Betriebssystem. Die Gesamtmenge an RAM ist kein wichtiger Punkt. Freier Speicher der für den Prozess zur Verfügung stehenden Menge im Vordergrund.

    Mit dem sagte, die Antwort auf Ihre Frage ist Nein . Jede Activity startet und läuft innerhalb der Anwendung (Prozess), die sie ursprünglich durch die Manifestdatei deklariert wurde, egal welcher Prozess die Startanforderung kommt.

    Der Befehl

     adb shell ps | grep 'app_name' 

    Wird Ihnen sagen, welche Prozesse Ihre und Kamera-App läuft auf.

    Zwei Apps können zwar im selben Prozess laufen, aber die notwendige Voraussetzung dafür ist die gleiche Signatur der Apps … Von Anwendungsgrundlagen :

    Es ist möglich, für zwei Apps zu arrangieren, um die gleiche Linux-Benutzer-ID zu teilen … Apps mit der gleichen Benutzer-ID können auch arrangieren, um in den gleichen Linux-Prozess laufen und teilen die gleiche VM (die Apps müssen auch mit dem gleichen Zertifikat signiert werden) .

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.