2010-11-20 12 views
2

Ich bin an einer Legacy-BlackBerry-Appplikation beteiligt, bei der die COD-Installationsdatei etwa 5 MB groß ist (meist aus eingebetteten Bildern und so weiter). Ist diese Größe etwas, worüber man sich Sorgen machen sollte? Sollte eine BlackBerry App in der Regel kleiner sein und warum?Ist 5 MB zu groß für eine BlackBerry-Anwendung?

Antwort

3

Einige gute Antworten auf diese Frage bisher. Eine Sache, die ich hinzufügen möchte, ist, dass du doppelte Bilder in deiner App hast (um unterschiedliche Bildschirmgrößen auf verschiedenen Geräten zu unterstützen) - dann denke über das Erstellen verschiedener Builds der App nach, die nur die Bilder für eine bestimmte Bildschirmgröße verwenden. Wenn Sie auch auf andere Betriebssystemversionen abzielen, könnte dies die Gesamtanzahl der Builds ein wenig erhöhen - aber wenn Sie Bedenken hinsichtlich der Anwendungsgröße haben, ist dies ein guter Ansatz.

+0

Ja, Marc, ich hätte diesen Punkt auch hervorheben sollen. :) –

2

Sie sollten zuerst versuchen, Ihre Bilder zu optimieren. Laufende Bilder durch http://www.punypng.com/ ist eine gute Möglichkeit, das zu tun. Sehen Sie, ob einige Bilder durch ein kleineres ersetzt werden können oder versuchen Sie, das gleiche Bild so oft wie möglich zu verwenden.
Die Blackberry-Geräte haben je nach Modell 32 oder 64 oder 128 MB RAM. Sie müssen überlegen, ob all diese 5 MB gleichzeitig im Speicher verwendet werden oder ob sie kleinere oder größere Mengen verwenden. Denken Sie daran, dass Sie eine Anwendung 40 MB groß im RAM erstellen könnten, aber keine anderen Anwendungen ausgeführt werden können.

+0

Leider sind die Bilder ziemlich empfindlich, da sie viele Farbverläufe verwenden. Die BB-Bildschirme sind in der Regel 16-Bit-Farbe und jede Art von starker Komprimierung der Bilder lässt sie besonders abscheulich aussehen. – MusiGenesis

+0

Die neuesten Geräte wie der Torch 9800 und der Bold 9850 haben 512 MB Flash-Speicher, so dass es im Laufe der Zeit immer weniger zu einem Problem wird. Aber es gibt immer noch viele marktgängige Geräte mit begrenztem Speicherplatz, insbesondere wenn bereits eine große Anzahl von Apps darauf installiert ist. –

+1

Ich denke, dass http://www.punypng.com/ die Komprimierung verlustfrei macht, wenn es png ist und sehr wenig verliert, wenn es jpeg ist. Probieren Sie es aus und verwenden Sie die Bilder nicht, wenn Ihnen das Ergebnis nicht gefällt. – Zalastax

2

Nun, ich denke nicht, dass 5Mb zu viel für ein modernes Smartphone ist. Wenn Ihre App wirklich alle Bilder benötigt, dann haben Sie einfach keine andere Wahl, als eine große Codedatei zu haben. In einigen Fällen eines langsamen Internets könnte dies zu einem langsamen OTA-Installationsprozess führen. So können einige ungeduldige Benutzer die Installation abbrechen. Um die langsame Installation zu überwinden, trennen manche Entwickler Core-Code von Ressourcen, so dass die Ressourcen nach der OTA-Installation, bei einer ersten App-Ausführung, wahrscheinlich unter Popup oder einer Art Setup-Wizard heruntergeladen werden. Dies macht natürlich den Startcode schwieriger zu implementieren.

Eine andere Sorge, die ich mir vorstellen kann - sind die Bilder in der Größe optimiert? BB zeigt Farben in einem Farbschema mit 16 Bit pro Farbe an (RGB 565), unabhängig von Ihrer Bildfarbtiefe. Es lohnt sich also, alle Bilder (wenn nicht schon) durch einen 565-Filter zu verarbeiten. Es gibt einige Photoshop-Plugins dafür. Zählen Sie jedoch nicht auf eine große Größe zu reduzieren. Für ein 5 Mb Bildset erhalten Sie vielleicht nur einen 1 Mb "Rabatt" (20%), also haben Sie immer noch mehrere MBs.

Und die letzte Anmerkung - achten Sie darauf, Ihre Klassen richtig zu gestalten, um RAM richtig zu verwenden. Höchstwahrscheinlich haben Sie Ihre Bildressourcen in Form von komprimierten Bildformaten (JPG, PNG). In dieser Form sind sie relativ klein, aber wenn sie zu einer Bitmap werden, frisst jedes Pixel eines Bitmap-Bereichs mindestens 2 Bytes oder höchstens 4 Bytes (es hängt vom Bitmap-Typ ab). Stellen Sie sicher, dass Sie nicht zu viel mit einem statischen Zeug spielen, denn wenn es einmal geladen ist, wird es bis zum Ende der App leben (RAM essen), bis Sie es manuell aufheben.

Danke.

+0

Dies ist ein BlackBerry, kein "modernes Smartphone". :) – MusiGenesis

+0

Hat eine neue Version des Betriebssystems einen 32-Bit-ARGB-Bitmap-Typ? Ich stecke fest in 4.6.1 – MusiGenesis

+0

Betrachtet nur Bitmap API von 4.6.1 und 6.0 - sie unterscheiden sich nicht in diesem Teil. –