スマートフォン開発」カテゴリーアーカイブ

Android,iOSアプリ用画像リソースとアイコンサイズのまとめ [2018年10月更新]

R&D部の佐藤伸です。

スマートフォンのアプリ開発では、さまざまな解像度の端末に対応する必要があるために、複数の解像度の画像リソースを用意する必要があります。
詳細は本ブログ2014年5月の記事「Android,iOSアプリ用画像リソースとアイコンサイズのまとめ」でも解説いたしましたが、その後の新端末の登場などにより情報が若干古くなってしまいましたので、ここで現時点(2017年10月)での最新データを元に再度まとめてみました。

スマホアプリ開発の助けになれば幸いです。

【2018/10/31追記】 iOS関連の情報ですが、iOS 12 および iPhone XS/XS Max/XR は、それ以前(iOS 11 および iPhone X/8)からの変更はありませんでした。

Android アプリで必要な画像リソース

Android では、ディスプレイの Density (dpi=dot per inch; 表示密度)にあわせて、アプリが使用する画像リソースを自動的に切り替えたり、拡縮したりするようになっています。2017年10月現在、以下の6種類の Density が定義されています。

2017年10月現在の最新OSバージョンは「Android 8.0 (API Level 26)」となっています。
解像度については、過去の記事(2014年5月)から特に変更はありません。

Density dpi 備考
xxxhdpi(Extra-extra-extra!-high density) ~640 主にWQHD(2560×1440) 解像度用。Android 4.3 からサポート (*1)
xxhdpi(Extra-extra!-high density) ~480 主にフルHD(1920×1080) 解像度用
xhdpi(Extra-high density) ~320 主にHD(1280×720) 解像度用
hdpi(High density) ~240 日本国内では、一部の機種のみになっている
mdpi(Medium density) ~160 基準となる解像度だが、最近の機種では不要
ldpi(Low density) ~120 最近の機種では不要

(*1) 現在、4K解像度(3840×2160ピクセル)の端末として「Xperia Z5 Premium」があります。この機種は5.5″ 4K解像度(約800dpi)のLCDを搭載していますが、4K解像度が機能するのはメディア再生のときのみで、アプリからは xxxhdpi として見えるようです。

Density アイコンのピクセルサイズ 画像リソースのサイズ比率
xxxhdpi 192 x 192 400%
xxhdpi 144 x 144 300%
xhdpi 96 x 96 200%
hdpi 72 x 72 150%
mdpi 48 x 48 100%(基準)
ldpi 36 x 36 75%
丸アイコンの追加 【2017/10/03追記】

Android 7.1 から、アプリのアイコンに丸いアイコンが追加されました。
AndroidManifest.xmlで従来のiconの他にroundIconを指定しておくと、対応デバイスで丸いアイコンが表示されます。

<application
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"

roundIconに丸くないアイコンを指定しても丸くはなりませんでした。

Android アプリの画像リソース容量を削減するにはPNG8 かWebP を使う

Android の画像リソース(アイコンも)にはJPEG形式を使うこともできますが、JPEG は写真のような画像の圧縮には向いているものの、アプリで使用するアイコンやUI画像の圧縮には向いていません。また、JPEGではアルファ(半透明)も使えません。アイコンやUI 画像の圧縮にはPNG、特にPNG8(8bitPNG) が向いています。ただし、PNG8を使う場合は、高画質で減色できるツールを使う必要があります。
アプリがAndroid 4.0 以降のみのサポートであれば、ダイレクトカラー(32bpp,24bpp)のリソースは、PNG よりさらに圧縮率の高いWebP(LossLessモードがベスト) を使うこともできます。

 

iOS アプリで必要な画像リソース

iOS の画像リソースは 以前は Retina 用と非 Retina 用の区別のみでした。現在は、 iPhone 6 Plus の登場により、更に高解像度の「Retina HD 5.5」が追加され、従来の Retina 用は「Retina HD 4.7」と呼ぶようになっています。

【追記】2016/3/31、iPhone SEとiPad Pro 9.7インチが発売されました。iPhone SEの解像度はiPhone 5/5s/5cと同じ1136×640ピクセルで「Retina HD 4.7」扱いになります。

  • iPad Pro 9.7インチは解像度は2048×1536ピクセルで、こちらも「Retina HD 4.7」扱いになります。

【追記】2017/9/13、iPhone XiPhone 8が発表されました。iPhone X から「Super Retina HD 5.8」が追加されました。

  • iPhone X 5.8インチは解像度は2436×1125ピクセルで、「Super Retina HD 5.8」扱いになります。
  • iPhone 8 Plus 5.5インチは解像度は1920×1080ピクセルで、「Retina HD 5.5」扱いになります。
  • iPhone 8 4.7インチは解像度は1334×750ピクセルで、「Retina HD 4.7」扱いになります。

各解像度の画像リソースのサイズ比率は下記のようになっています。【2018/10/31更新】

Resolution 画像リソースの
サイズ比率
対象機種 ファイル名
サフィックス
Super Retina HD 5.8 300% iPhone X/XS/XS Max/XR @3x
Retina HD 5.5 300% iPhone 6 Plus, iPhone 6S Plus, iPhone 7, iPhone 8 Plus @3x
Retina HD 4.7 200% 上記以外の Retina iPhone/iPad @2x
Standard 100%(基準) 非Retina iPhone/iPad なし

続いて、iOS で必要なアイコンのサイズ一覧です。
ファイル名末尾に、Retina HD 4.7 用は “@2x”、Retina HD 5.5 用は “@3x” が付いています。

アイコン種別 アイコンの
ピクセルサイズ
ファイル名
iPhoneアプリアイコン@2x 120 x 120 Icon-60@2x.png
iPhoneアプリアイコン@3x 180 x 180 Icon-60@3x.png
iPadアプリアイコン 76 x 76 Icon-76.png
iPadアプリアイコン@2x 152 x 152 Icon-76@2x.png
iPad Proアプリアイコン@2x 167 x 167 Icon-83.5@2x.png
iPad設定アイコン 29 x 29 Icon-Small.png
iPhone&iPad設定アイコン@2x 58 x 58 Icon-Small@2x.png
iPhone設定アイコン@3x 87 x 87 Icon-Small@3x.png
iPadスポットライトアイコン 40 x 40 Icon-Small-40.png
iPhone&iPadスポットライトアイコン@2x 80 x 80 Icon-Small-40@2x.png
iPhoneスポットライトアイコン@3x 120 x 120 Icon-Small-40@3x.png
iPadAppStoreアイコン 512 x 512 iTunesArtwork
iPadAppStoreアイコン@2x 1024 x 1024 iTunesArtwork@2x
iPhone通知アイコン (iOS 10以降) 40 x 40 iPhone-20@2x.png
iPhone通知アイコン (iOS 10以降) 60 x 60 iPhone-20@3x.png
iPad通知アイコン (iOS 10以降) 20 x 20 iPad-20@1x.png
iPad通知アイコン (iOS 10以降) 40 x 40 iPad-20@2x.png
iPhone&iPadアプリストアアイコン (iOS 11以降) 1024 x 1024 Icon-1024.png

【2017/10/03更新】2017年10月月現在では、iOS 9 以前のシェアは9%以下にまで減少しているため、一覧からは除外しました。

iOS アプリの画像リソース容量を削減するにはPNG8 を使う

iOS の場合、アイコンはPNG 形式のみサポートされています。画像リソースにはJPEG も使えますが、Android の項で書いたように、アプリで使用するUI 画像の圧縮にJPEG は向いていません。アイコンやUI 画像の圧縮にはPNG、特にPNG8(8bitPNG) が向いています。ただし、PNG8 を使う場合は、高画質で減色できるツールを使う必要があります

画像リソースの効率的な作成方法

画像最適化ツール 『OPTPiX imésta 7 for Mobile & Social』に搭載されているApp リソース画像一括生成機能を使えば、Android・iOS アプリで必要なアイコンと画像リソースを元の画像から一発で変換することができます。 しかも、高画質な減色ができるため、品質を保ったままファイルサイズを抑えた画像を作成可能です。
画像の拡大縮小も、Lanczos3 というアルゴリズムを使用するので高画質です。

カテゴリー: スマートフォン開発 | タグ: , , , , | 2018/11/12 更新

Androidアプリの描画パフォーマンスを向上させる方法 第1回

ウェブテクノロジ開発部の西田です。

今回は、Androidアプリケーションを開発されている方々に向けて、Androidアプリケーションの描画パフォーマンスを向上させる方法についてご紹介いたします。

スマートフォンアプリケーションを作り始めたものの、後々になって期待していたパフォーマンスが得られず苦労した、という経験はありませんでしょうか?
どうすれば快適でより良いパフォーマンスのアプリケーションが作れるのか?そういった悩みを今回の記事で少しでも解消してもらえると幸いです。

本テーマは数回に分けて紹介する予定ですが、第1回となる今回は、描画方法による描画パフォーマンスの違いについてご紹介いたします。

続きを読む

カテゴリー: スマートフォン開発 | タグ: , , | 2018/06/22 更新

スマートフォンアプリで、綺麗な画像を軽くして組み込む方法

ウェブテクノロジ開発部の山崎です。こんにちは。

今回は、スマートフォンアプリ(アンドロイド(Android)アプリ)と、iOSアプリ(iPhoneアプリ/iPadアプリ)で綺麗な画像を軽く扱いたい開発者の方のために、解決策をご紹介いたします。

※ 本エントリーはブログ掲載時点の情報をまとめたものです。将来的に仕様が変更になる可能性もあるのであらかじめご了承ください。

ファイルサイズの制限

さて、スマートフォンアプリでは、アプリケーションのファイルサイズに制限があります。「Android Market」ではアップロード可能なアプリの上限サイズが「50MBまで」と制限されていますし、

Android Market では50MBまで

Android Market では50MBまで

「App Store」では3G回線経由にてダウンロード可能なアプリの上限サイズは「20MBまで」と制限されています。

AppStoreでは20MBまで

AppStoreでは20MBまで

ちなみに、iOSでは、WiFi経由でダウンロード可能なアプリの上限サイズは2GBとのことです。

また、それぞれの端末のメモリストレージの量も現段階では「PCのように豊富にある」「湯水のように使える」とは言えない状況です。「Android Market」や「App Store」の制限もさることながら、アプリケーションは少しでも軽いほうがユーザーに喜ばれるのは確かです。

画像をキレイなまま軽く!

努力してソースコードを短くしてもアプリケーションのサイズが劇的に小さくなることはほとんど無いと言えるでしょう。

アプリケーションの中で大きくサイズを使っているのは「画像データ」なのです。

スマートフォンの画面の解像度は、昔のPCに匹敵するほど大きく(広く)なっています。最近は、WVGA:800×480以上の端末が増えています。この大きさの画像データを複数枚持つだけでアプリの容量はどんどん増えていきます。

画像の数を減らすことなく、アプリの容量を抑えようとして画像データを必要以上に圧縮すると画像内にモスキートノイズが増えてしまい、スマートフォンのキレイで広い画面のメリットを損なう結果になってしまいます。

画像は写真なのか、図表やイラストなのかをチェック!!

写真の画像はJPEG形式が最適です。キレイに小さく圧縮できます。しかし、図表やイラストの画像はJPEG形式で圧縮(保存)するとモスキートノイズだらけのひどい結果になります。

図表の画像を使う場合はPNG形式で圧縮(保存)してください。圧縮には減色で対応するとキレイな画像のまま軽くすることができます。

雑誌やパンフレットのように写真と図表や文字が混在しているような画像はあるか?

写真と図表が混在している画像は、JPEG形式?PNG形式?どちらで保存すればキレイなまま軽くできるでしょうか。

手間を惜しまないのであれば、写真の画像と図表の画像を分離するとよいでしょう。

次の図のように、写真の部分を切り出してJPEG形式で保存し、図表や文字の部分はPNG形式で保存します。そして、表示するときに1つの画像に見えるようにくっつけるわけです。

特にモスキートノイズの入りやすい文字周りはPNG形式で保存するとJPEG形式と同じバイトサイズにまで圧縮しても表示がクッキリとキレイになります。

しかし、この作業。技術や理論が理解できても実際にやってみるととても大変です。

特に、画像の枚数が多かったり、何度も改修がかかるような画像に対してこの作業を手でやるのは・・・コスト的にも品質的にも問題があります。

この作業を確実に全自動で計算&分割&保存してしまうのが「ハイブリッドフォーマット」で画像を保存できる「OPTPiX imesta 7 for Mobile & Social」です。

詳しくは「電子書籍・雑誌やコミックをキレイに!軽く!ハイブリッド画像作成ツール – OPTPiX imesta 7 for Mobile & Social」のページをご覧ください。

サンプルソースコードの提供

「・・・で、そのハイブリッド画像をアプリで表示するには、どうしたらいいの?」

アプリとして動作実績のあるアンドロイド(Android)アプリのサンプルソースコードと、iOSアプリ(iPhoneアプリ/iPadアプリ)のサンプルソースコードともにご用意しています。

「サンプルソースコードを参考にしたい」開発者の方はお問い合わせフォームからお問い合わせください。

カテゴリー: スマートフォン開発 | タグ: , , , , , , , , , , , , | 2018/08/01 更新