Wie man minimale Hardwareanforderung für android Anwendung erhält

Ich mit einem Teammitglied entwickeln eine Android-Anwendung, die Daten auf dem Feld per Handy sammeln.

Jetzt wird diese Anwendung zur Produktion gehen. So werden die allgemeinen Leute diese Anwendung verwenden. Wir müssen auch eine Dokumentation erstellen, die alle Dinge, die in meiner Android-Anwendung vorstellen, und was ist die minimale Hardwareanforderung, um diese Anwendung ohne Fehler auszuführen, zu erklären.

Nun, wie ich weiß, was ist minimal Hardware-Anforderung.

Grundsätzlich in meiner Bewerbung von vier TextField , Three Spinner , Date , EditText und zwei ImageView .

So wie ich weiß, was ist minimale Speicheranforderung, um diese Anwendung auszuführen.

Ich habe versuchen, diese Anwendung in einem der mobilen, wo fast alle Speicher von einer anderen Anwendung verwendet werden. Da meine Anwendung nicht in der Lage, Foto zu erfassen. Und wenn ich irgendeine Anwendung entfernen, dann funktioniert meine Anwendung gut.

Deshalb möchte ich wissen, was der Mindestbedarf ist, um meine Anwendung auszuführen.

  • Android Kontext Schwache Referenz
  • Ein einzelnes Zeichen in Base64String hält, wie viele Bytes? 1, 2 oder mehr
  • Adb shell dumpsys meminfo - Was ist die Bedeutung jeder Zelle ihrer Ausgabe?
  • BitmapFactory.decodeResource und unerklärliche Out of Memory
  • Gibt es Speicherverwaltungs-Tipps, um bei der Suche von Android Apps zu sorgen?
  • Android app stürzt ohne Ausnahme aus, wenn man versucht, sich mit google plus anzumelden
  • Was ist die maximale Menge an RAM, die eine App verwenden kann?
  • Kann ich aus der Speicherausnahme in Android in der Bitmap-Zuweisung zum Decodieren einer Bilddatei herausfangen?
  • 6 Solutions collect form web for “Wie man minimale Hardwareanforderung für android Anwendung erhält”

    Die Mindestanforderungen hängen ab und werden vor allem die Prüfung und Dokumentation der folgenden Punkte beinhalten:

    1. API-Ebene : Minimale Android-Version unterstützt, seine meist bekannt durch den Entwickler. Es gab viele große Änderungen zwischen API's in Android. Unterstützung v4 und v7-compat Bibliotheken helfen viel, aber sie decken nicht alle Aspekte ab.

    2. Gerätefunktionen : Notieren Sie alle Funktionen, die Ihre App verwendet. (Wie hat Touchscreen, hat Kamera, Beschleunigungssensor, Netzwerk-Konnektivität usw.). Zum Glück können Sie erklären, dass in App-Manifest ( uses-feature ) und Play-Store wird nicht heruntergeladen werden nicht unterstützt Geräte.

    3. RAM : Verwenden Sie DDMS / Android Studio , um Echtzeit-Speicherverbrauch, Emulator und ein echtes Gerät zu sehen. Versuchen Sie, so viel wie ram verwenden, die Sie verwenden können, indem Sie verschiedene Funktionen der App auslösen, halten Sie es für lange Zeitintervalle laufen. Nehmen Sie diese min und max Gebrauch als Schätzung. DDMS-Tools wie TraceView usw. können Sie auch Objektzuweisungen auf Haufen, Threads und Do-Methode-Profiling sehen. Führen Sie Monkey Tool für längere Zeit, um die App zu betonen.

    4. CPU-Geschwindigkeit : Wenn die App Intensiv-Computing, Daten-Konvertierung usw., möchten Sie vielleicht einige Zeitstempel Protokolle in solchen Rechencode zu programmieren. Stellen Sie sicher, dass Sie die CPU-Geschwindigkeit so einstellen, dass alles, was Computing getan werden muss, in ausreichend Zeit vervollständigt, ohne dass das Gerät zu viel verzögert wird. Auch bei der visuellen Wiedergabe, (Spiele) gute Bildrate ist Hauptfaktor. In diesem Fall können Sie echte Geräte für Bildraten benchmarkieren und High-End-Chip-Sets wählen. Sie können auch Benutzer für Multi-Core-Geräte empfehlen.

    5. CPU / GPU-Kompatibilität : Ein weiteres wichtiges Detail ist, dass wenn ein App C / C ++ Code hat, dieser Code möglicherweise nicht auf einigen der CPU-Typen (MIPS, ARM oder x86) ausgeführt wird. Gleiches gilt für Apps mit OpenGL ES Versionen und verfügbaren Erweiterungen. Geräte haben unterschiedliche CPU / Grafik-Chip-Set.

    6. Disk : Schätzen Sie die Größe der App nach der Installation, Beachten Sie, dass die minimale Festplattenanforderung für App der Platz ist, der zum Speichern der App selbst erforderlich ist, damit sie zumindest starten kann und keine Caches, Datenbanken oder den von ihr erstellten Benutzerinhalt enthält Bei der Nutzung.

    7. Display-Größe : Während eine reaktionsfähige und flexible Benutzeroberfläche immer empfohlen wird, kann Ihre App nur mit bestimmten Bildschirmgrößen verwendbar sein. So können kompatible Bildschirmgrößen berücksichtigt werden.

    8. Was Sie nicht kontrollieren können : Denken Sie daran, Sie haben keine Kontrolle darüber, was andere Apps-Benutzer laufen könnte, also ist es sicher zu deklarieren, dass Ihre App erfordert so viel kostenlos ram auf Gerät und unter der Annahme der besten Szenario, deklarieren, dass das Gerät hat zumindest das Viel ram installiert Zum Beispiel haben Sie festgestellt, dass Sie App 200 mb, wenn maxed out, so Anforderung wäre nur 512 MB + Geräte. Auch können Sie nicht kontrollieren, welche Größe von sd-card Benutzer haben wird, also App sollte sofort sagen, dass es nicht funktionieren kann, wenn Festplatte voll ist.

    Schließlich, gute Tests ist, was schätzt Schätzungen in echte Benchmarks. Und es ist besser, die Anforderungen an Benchmarks anstatt nur Schätzungen zu erfüllen.

    UPDATE :

    Gibt es irgendeine API oder Klasse von Android, die die Informationen geben, was ist die minimale Speicheranforderung abhängig davon, wie die Felder, die ich in meiner Anwendung verwende und was die Erlaubnis ich bin bt das Handy.

    1. API kann die Laufzeit nicht genau vorhersagen. Es wäre viele, if 's und else ' in Ihrem Code, plus Benutzereingabe, können Sie nicht vorhersagen, welche genaue Weg die Objekterstellung und Ausführung gehen wird. Sie können die Laufzeit nur extern mit Tools wie DDMS überwachen.

    2. Im Gegensatz zu Apple, Android ist ein offenes System, die Möglichkeiten der Geräte-Hardware, die Hersteller sind frei zu wählen, sind massiv. Fügen Sie hinzu, dass die Anpassungen, die sie in ihrem Gerät ROM's. Keine gemeinsame API wird das alles behalten. Einfach auf Android-API und Standard-Spezifikationen, vermeiden Sie die Verwendung von versteckten API etc.

    Frage, du solltest dich selbst fragen

    1. Was sind meine Speicheranforderungen? Brauchen Sie viel Speicher (nicht physisch ist es in Haufen), um Daten zu verarbeiten, oder es ist minimal? Jetzt sind die meisten Geräte mit 64 MB Heap Größe, aber dies variiert von Manufactures to Manufactures. Auch für den gleichen API-Level ist es anders. Finden Sie heraus, Ihr Minimum und dann stellen Sie sicher, dass Sie diesen Betrag Haufen Speicher zur Verfügung haben.

    Um den Speicher zu überwachen, den du zur Laufzeit verbrauchst, kontrollierst du dies

    Um herauszufinden, wie viel Haufen Speicher auf dem aktuellen Gerät zu überprüfen, dies und dies zu überprüfen.

    Denken Sie daran, Android ist nicht wie Windows und jede App starten mit der gleichen Menge an Haufen Speicher, und es ist konstant für jede App auf diesem Gerät. Das bedeutet, dass Apps nicht über dieses verfügbare Gedächtnis hinaus wachsen dürfen. Sie können für zusätzlichen Speicher von diesem Tag in manifest android:largeHeap="true" aber diese Funktion ist nicht verfügbar für pre 3.0 OS-Version.

    Ich habe versuchen, diese Anwendung in einem der mobilen, wo fast alle Speicher von einer anderen Anwendung verwendet werden. Da meine Anwendung nicht in der Lage, Foto zu erfassen. Und wenn ich irgendeine Anwendung entfernen, dann funktioniert meine Anwendung gut.

    Über die Annahme ist ziemlich verwirrend, weil, wenn Ihre App läuft Android alle anderen App-Seite, die Ihre App wird Speicher von Ihnen Haufen Größe definiert haben, und wenn OS dachte, es brauchte mehr Speicher oder nicht mehr zuzuteilen, würde es diese Prozess zu töten. Android geben der derzeit laufenden Aufgabe hohe Priorität. Also, wenn Sie mit einer App interagieren, ist es höchst unwahrscheinlich, dass es weniger Speicher dann Haufen Größe haben wird. Sie könnten einen anderen Grund haben, Probleme mit anderen Apps zu haben.

    2. Was sind meine API-Anforderungen? Wenn Sie eine spezielle API verwenden, die nicht für ältere API und Ebene verfügbar ist, dann haben Sie zwei Möglichkeiten, entweder Sie sagen, App App einfach nicht zu dieser API-Version zu unterstützen oder Sie können Port-Port, die spezifische Feature.

    3. Was sind meine Hardwareanforderungen? Fragen Sie sich, wenn Sie irgendwelche Spezialität Software oder Hardware verwenden, wenn diese spezielle Hard verfügbar für alle Geräte oder nicht? Beispiel, NFC, bluetooth.

    4. Was sind meine Anzeigeanforderungen? Ist diese App nur für Handy oder für Handy und Tablet? Was ist mit diesen 7 Zoll, die zwischen Tablette und Handy fallen.

    5. Was sind meine Lokalisierungsanforderungen? Ist diese App auf irgendeinen speziellen Zeichensatz angewiesen? Was ist, wenn ein bestimmtes Gerät diese Zeichen nicht hat.

    Und, FYI Menge an Objekt, das Sie erwähnt haben, sollte nicht mehr als nur wenige MB besetzen. Aber vorsichtig bei der Arbeit mit Bitmap. Lesen Sie dies

    Es scheint, dass es garantiert, dass jeder Prozess in Android mindestens 16MB Speicher haben wird, die meisten modernen Geräte erlauben Haufen wachsen zu 24 + MB

    Siehe Beschreibung von http://developer.android.com/reference/android/app/ActivityManager.html#getMemoryClass ()

    Speicherverwaltung alle auf der OS-Seite, und es gibt Prioritäten für Prozesse und Threads beschrieben in http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle

    Wenn also deine App im Vordergrund steht, hast du wahrscheinlich genug Ressourcen, um das Bild von der Kamera zu behandeln.

    Welche API verwenden Sie, um das Bild zu erfassen?

    Der beste Weg, um herauszufinden, ob Ihre App auf bestimmte Hardware laufen wird, ist auf dieser Hardware zu testen. Fragen Sie Ihre Freunde, wenn sie ältere Android-Handys herumliegen und testen Sie Ihre App auf sie.

    Worst Case, machen mehrere Android Virtual Devices mit unterschiedlichem Speicher. Vorsicht aber, der Android Emulator ist enttäuschend langsam, auch mit Hardwarebeschleunigung.

    Wie @veon sagt, können Sie einige Schätzungen machen. Allerdings wird es immer ein bisschen unvorhersehbar sein, weil Sie wissen wollen, wie viel es in verschiedenen Kontexten verwenden wird, und Sie benötigen Benutzer, um die Verwendung von anderen Apps auf ihren Telefonen zu kennen.

    Wie ich es verstehe, was Sie in erster Linie bieten müssen, ist eine klare Dokumentation. Es könnte viel einfacher sein (für Sie und alle), es wie folgt zu dokumentieren:

    Diese Anwendung läuft auf allen aktuellen Standard-Android-Handys (Android-Version XXX und höher). Allerdings, wenn andere Anwendungen ausgeführt werden, insbesondere Speicher hungrig läuft, kann die Leistung betroffen sein. Wenn Sie Leistungsprobleme haben, entfernen Sie bitte andere Anwendungen, die Speicher und Prozesse schwer sind. Wenn Sie Hilfe benötigen, um das zu bestimmen, verwenden Sie bitte eine Anwendung wie ZDbox , um Ihnen zu helfen.

    Als Referenz habe ich keine Links zu ZDbox, ich benutze es einfach als Beispiel.

    Deshalb möchte ich wissen, was der Mindestbedarf ist, um meine Anwendung auszuführen.

    Verwenden Sie das Monitoring-Tool von kleinen Augenlabors . Es überwacht den Stromverbrauch / Speicherverbrauch / CPU-Verbrauch / Netzwerkaktivität Ihrer App unter anderem . Sie können es für eine 30-Tage-Testversion herunterladen . Das sollte Ihnen eine faire Vorstellung von den Ressourcen geben, die Ihre App verbraucht. Ich muss sagen, obwohl die Apps nicht in der Regel mit einem Satz von Hardware-Anforderungen veröffentlicht werden. Halten Sie Ihren Speicher / Batterieverbrauch in Schach und Sie sollten gut sein.

    Wie für niedrigen Speicher, passiert das, wenn Sie Bilder, die die Kamera nimmt oder macht die Kamera selbst bringen die App? Sind Sie freigegeben von Ressourcen von der Kamera gehalten? Werfen Sie einen Blick auf diese Frage – Android-Kamera aus Speicher Ausnahme Ausnahme

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