携帯電話とWi-Fiネットワーク環境で簡単にダウンロードできるように、アプリを10.0MB以下に保ちたい。あなたの経験では、あなたのアプリをスリムに保つための良い方法を見つけましたか?もしそうなら、共有してください。 iPhoneアプリのファイルサイズを10.0MB未満にするための良いガイドラインは何ですか?iPhoneアプリのファイルサイズを10.0MB未満にするための良いガイドラインは何ですか?
答えて
私が10Mを超えるように処理したほとんどのアプリケーションは、リソース、しばしば画像と音声によるものです。これらを正確にサイジングすることが重要です。 iPhoneはデバイスのバンドル時に自動的に圧縮されるため、Simulatorのサイズはデバイスと大きく異なる場合があります。
すべての最適化演習と同じように、最初に堅実で安定したシステムを構築し、最大の問題を引き起こしている部分に最適化作業を集中させたいとします。私はこのためにdu
を使用します。
- ビルドをデバイス用のリリースで
- ゴー構築するために/リリース-iphoneos/.appを
du -ak | sort -rn | head
これはあなたの場所のリストが表示されますトップのものがあります。この情報はkB単位ですが、次のブロック(Macでは4k)に切り上げられます。しかし、あなたは大きなものを探しているだけで、すべてのものの正確なサイズを調べるつもりはありません。
あなたのリソースにコピーされているものは特にありません。面白いことが時々そこに入ります。特にプロジェクトに追加したドキュメントです。これをテストすると、私自身のプロジェクトテンプレートがxcconfigファイルをバンドルにコピーしていることに気がつきました。...)
ローカライズされたNIBがたくさんある場合は、NIBをローカライズしない、むしろIBOutlet UILabelsを使用しています。実際のローカライズされたテキストがない場合、NIBをローカライズしないでください。 1つのNIBをローカライズしても、すべての言語をローカライズする必要はありません。
一般的に、iPhoneのビルド設定は、すでにサイズを小さくするために積極的なので、変更しているものを調べなければ、それほど混乱することはありません。
あなたが決して呼び出さない多くのメソッドを備えたObjective-Cクラスに注意してください。 Objective-Cは動的なので、Cのようにデッドコードのストリッピングを行うことはできません。実行時にセレクタを使用できるかどうかをコンパイル時に知る方法はありません。ですから、「ちょうどその場合」にキッチンシンクを持つオブジェクトがある場合、それらを取り除きたいかもしれません。しかし、一般的に、ここでは1つのオーディオファイルに比べて多くのスペースについて話すわけではありません。私はあなたが何らかのクラスメソッドや定数などのためにしかリンクしていない本当に巨大なオブジェクトを持っているまれなケースについて言います。
1つのヒントは、圧縮メディア形式を使用することです。例えば。オーディオファイルを使用している場合は、AIFFまたはWAVの代わりにmp3を使用することを検討できますが、処理オーバヘッドが若干高くなる可能性があります。 10MBの実行可能ファイルは異常に高く聞こえるので、大きなアプリケーションには多くのメディアコンテンツ(画像、オーディオ)が含まれている可能性があります。
もう1つのヒント:Be careful with your 9.9MB app!
あなたのアプリが10.1MBのように見える多くの最適化の後に発見したくありません。
ビルドプロセスで自動的にPNGファイルが圧縮されます(pngcrushを使用して自分で作成しないでください)。実際には、10MB以上のサイズを取得するにはかなりの資産が必要です。私はこれについての心配は時期尚早の最適化だと思うし、おそらくあなたは自分が後で近づくまで気にする必要はありません。
大きな画像の一部をグレースケールに変換して、アプリの外観に適したものにします。純粋なグレースケールをいくつか作ることができれば、その節約は相当なものです。
このtiposは、主にiPhoneのゲームに適用されます:
- 使用JPGのみの代わりに、透明性を持っていない画像に対してPNG画像を。
- あなたのサウンドはMP3、renderのWAVに、アプリケーションが初めて読み込まれ、アプリケーションDocuments dirに保存されます。
- 1. 10Mb未満のiPhoneアプリのサイズ制限は圧縮されていますか?
- 2. iPhoneアプリのグラフィックスを入手するための良いサイト
- 3. 無料(または200ドル未満)のデータベースマネージャソフトウェアは何ですか?
- 4. iPhoneアプリのユーザーをオンボードするための優れたフレームワークは何ですか?
- 5. ブラックベリーUIのツールバーをiPhoneのように作るためのガイドライン
- 6. 解像度を320x480未満にする正しい方法は何ですか
- 7. "=="条件を宣言するための標準ガイドラインは何ですか?
- 8. ゲームを作るための良い構造は何ですか?
- 9. System.Web.Abstractions:それは何のために良いですか?
- 10. 良いウェブクローラーのエチケットのガイドライン
- 11. エミュレータでAndroidアプリをテストするためのデバイス設定の良いセットとは何ですか?
- 12. 予定のリマインダをメールで送信するための良いDjangoアプリとは何ですか
- 13. Zendフレームワークを学ぶための良いリソースは何ですか?
- 14. iPhone - 私のアプリのための適切なオーディオプレーヤーは何ですか?
- 15. iphoneのための良いオープンソースのチェスゲームはありますか?
- 16. Qtアプリケーションのための良いMV *パターンは何ですか?
- 17. .Netのための良いOODBオプションは何ですか?
- 18. 初心者のための良いフラッシュソケットサーバーとは何ですか?
- 19. Compassのための良いCSSボタンフレームワークは何ですか?
- 20. gitにデータベーススナップショットを格納するための良い戦略は何ですか?
- 21. GroovyでWSDLウェブサービスにアクセスするための良いオプションは何ですか?
- 22. 私のアプリをテストするには良いブラックベリーは何ですか?
- 23. Junit:アサーション未満ですか?
- 24. iPhone開発 - 私のアプリ(ナビゲーションまたはウィンドウベース)の方が良いですか?
- 25. iPhoneスタイルのガイドライン
- 26. 私のiPhoneアプリを終了するボタンはAppleのガイドラインに違反していますか?
- 27. クラウドコンピューティングを学習するためのガイドライン
- 28. Object-CとXCodeで作られたiPhoneゲームのための良いパフォーマンスプロファイラは何ですか?
- 29. ASP.NETのウィジェットを設計するための良いパターンは何ですか?
- 30. 画質の良いキャンバスをエクスポートするためのベストプラクティスは何ですか?