2010-11-20 9 views
2

私は、CODインストールファイルのサイズが約5 MB(主に埋め込み画像などから)であるレガシーBlackBerryアプリケーションに関わっています。このサイズは何か心配していますか? BlackBerryアプリは一般にサイズが小さくなければならないのはなぜですか?BlackBerryアプリケーションでは5 MBが大きすぎますか?

答えて

3

これまでのところ、この質問に対する大きな回答があります。私が追加したいのは、アプリ内に重複した画像がある場合(異なるデバイスで異なる画面サイズをサポートする場合)、特定の画面サイズの画像のみを使用する異なるビルドを作成することです。異なるOSバージョンをターゲットにしている場合は、ビルドの総数がかなり増える可能性がありますが、アプリケーションのサイズが心配な場合は、良いアプローチです。

+0

はい、マーク、私はこの点についても強調しておきました。 :) –

2

まず画像を最適化してください。画像トラフhttp://www.punypng.com/を実行することはそれを行うための素晴らしい方法です。いくつかの画像を小さなものに置き換えるか、同じ画像をできるだけ頻繁に使用するかどうかを確認してください。
Blackberryデバイスにはモデルによって32または64または128 MBのRAMがあります。これらの5Mbすべてが同時にメモリ内で使用されるのか、それともそれ以上の量が使用されるのかを検討する必要があります。アプリケーションを40 MBのRAMにすることができますが、それ以外のアプリケーションは実行できないことに注意してください。

+0

画像はかなり勾配がかかっているため、かなり繊細です。 BBスクリーンは通常16ビットのカラーであり、画像の圧縮は非常に重いため、特に見苦しいものに見えます。 – MusiGenesis

+0

Torch 9800やBold 9850などの最新のデバイスには512MBのフラッシュメモリが搭載されているため、時間が経つにつれて問題は少なくなります。しかし、限られたスペースを持つ市販のデバイスがまだ数多くあります(特に、既に多数のアプリがインストールされている場合)。 –

+1

私はhttp://www.punypng.com/がpngなら圧縮ロスレスを行い、jpegの場合はほとんど失うことはないと思います。試してみてください。結果が気に入らなければ、イメージを使わないでください。 – Zalastax

2

5Mbは近代的なスマートフォンにはあまりにも多すぎるとは思わない。とにかくあなたのアプリが本当にすべての画像を必要とするならば、大きなコードファイルを持つ以外の選択肢はありません。遅いインターネットの場合、OTAインストール処理が遅くなることがあります。そのため、ごく最近のユーザーはインストールをキャンセルすることがあります。遅いインストールを克服するために、いくつかの開発者はコアコードをリソースから分けているので、リソースはOTAインストール後、最初のアプリケーションの実行時にポップアップや何らかのセットアップウィザードの下でダウンロードされます。もちろん、スタートアップコードを実装するのが難しくなります。

私が考えることができる別の懸念 - サイズに最適化された画像ですか? BBは、画像の色深度に関係なく、16ビット/カラーチャンネルスキーム(RGB 565)で色を表示します。したがって、565フィルタを使用してすべての画像を前処理する必要があります。このためのPhotoshopプラグインはほとんどありません。しかし、巨大なサイズの削減にはカウントしないでください。 5メガバイトの画像セットの場合は、1メガバイトの「割引」(20%)が得られるかもしれません。とにかく、まだいくつかのメガバイトがあります。

最後に、RAMを適切に活用するためにクラスを適切に設計してください。ほとんどの場合、圧縮されたイメージ形式(JPG、PNG)の形式でイメージリソースがあります。そのような形では比較的小さいですが、ビットマップになると、ビットマップ領域の各ピクセルは少なくとも2Bytesまたは最大で4By(ビットマップタイプに依存します)を食べます。静的なものであまりプレイしないようにしてください。一度読み込むと、手動で無効にしない限り、非常にアプリの終わりまで(RAMを食べて)生きていきます。

ありがとうございました。

+0

これはBlackBerryであり、「近代的なスマートフォン」ではありません。 :) – MusiGenesis

+0

新しいバージョンのOSに32ビットARGBビットマップタイプがありますか?私は4.6.1で立ち往生しています – MusiGenesis

+0

4.6.1と6.0のビットマップAPIを見ました - この部分で違いはありません。 –

関連する問題