2016-12-17 12 views
-1

私のアプリでは、私はdrawableフォルダに750個のPNG画像を持っています。私は自分のコンピュータからスクリーンショットを取ってこれらの画像を取得しています。PNGイメージはどのくらいのメモリを占有しますか?

私がすべての画像を使ってアプリケーションをビルドしたとき、そのアプリケーションのファイルサイズは140MBでした。その後、すべての画像を削除して再構築すると、2.75 MBになりました。

PNGイメージが占めるメモリ量を減らす方法はありますか?私のスクリーンショットのサイズを縮小することは効果的な解決策になりますか?

+0

"アプリのメモリは140MBでした" - **正確に**あなたが "アプリのメモリ"を意味するものを説明してください。 APKのファイルサイズを意味しますか? – CommonsWare

+0

@CommonsWare私のテストデバイスの場合:アプリケーションマネージャ - >マイアプリ - >ストレージ - >アプリケーション(2.75MB) – grant

+0

イメージの解像度を下げることはできますが、画質は低下します。 –

答えて

2

私は私の描画可能なフォルダほとんどの

で750のPNGイメージを持っているつもりです、それはあなたが望むものではありません。 res/drawable/res/drawable-mdpi/の別名です。あなたのイメージはデバイスの密度に合わせて再サンプリングされ、潜在的にはより多くのヒープスペースを占有します。通常、スクリーンショットのようなものは、画像が濃度に基づいてリサンプリングされるべきでないことを示すためにres/drawable-nodpi/に入ります。

すべての画像を使ってアプリケーションを構築したとき、そのアプリケーションのメモリは140MBでした。その後、すべての画像を削除して再構築すると、2.75 MBになりました。

これは、APKのサイズを意味するものと解釈し、アプリに関連付けられたディスクスペースの開始量を制御します。特定の端末にこのようなアプリがある場合でも、Androidには「アプリケーションマネージャ」はありません。

PNGイメージのメモリ量を減らす方法はありますか?私のスクリーンショットのサイズを縮小することは効果的な解決策になりますか?

「サイズ」を「解像度」とすると、PNGファイルのファイルサイズが小さくなり、APKのファイルサイズが小さくなります。

今削除された回答では、pngquantのようなツールを使用してPNGファイルのファイルサイズを縮小することができます。これは、スクリーンショットツールではおそらくなかった方法でPNGを最適化します。

さらに、スクリーンショットの数を減らすことでAPKのサイズを小さくすることができます。あなたのユーザーの何人が実際にスクリーンショットを見るつもりですか?アプリでそれらのサブセットをパッケージ化し、必要に応じて追加のものを一部のサーバーからダウンロードすることを検討することもできます。

+0

答えをいただきありがとうございます。私は、pngファイルの解像度を下げることが効果的でない場合、サーバーからpngファイルを取得することに頼るかもしれません。 – grant

+1

@espa_network:PNGファイルをサーバーに単にロードするだけで、750のサブセットをダウンロードすると役立ちます。APKの750個のPNGファイルをパッケージ化すると、同じ750 PNGファイル。しかし、50個のPNGファイルをパッケージ化し、さらに100個をダウンロードすると、ファイル数が少なくて済みますので、ストレージを80%削減できます。 – CommonsWare

関連する問題