ストレージ容量を節約できるiOS 9の3つの機能c

ストレージ容量を節約できるiOS 9の3つの機能c
ストレージ容量を節約できるiOS 9の3つの機能c

Appleは昨日の基調講演で、ストレージ容量が不足しているiPhoneやiPadユーザーにとって大きな変化をもたらす可能性のある機能について少し触れました。それが「App Thinning(アプリシンニング)」です。iOS 9デバイスは実際に必要なコードだけをダウンロードするため、アプリのサイズが現状よりも大幅に小さくなります。

Apple が 1 つの機能として挙げているものは、実際には 3 つの別々のメカニズムであり、それぞれがアプリのサイズを縮小する独自の役割を果たしています 。ArsTechnica、その仕組みについて興味深い解説を提供しています... 

主要なメカニズムであるApp Slicingが、ほとんどの処理を担います。アプリは3.5インチのiPhone 4から5.5インチのiPhone 6(ユニバーサルアプリの場合は10インチiPad)まで、様々なデバイスで動作する必要があるため、デバイスごとに個別のアセットが含まれています。そのほとんどは、デバイスには必要ありません。

例えば、iPhone 5Cをお持ちで、32ビットCPUとMetal APIをサポートしていないGPUを搭載しているとします。最新のユニバーサルゲームをダウンロードすると、そのバイナリには64ビットコード、iPadとiPhone 6 Plusの「3倍」サイズのアセット、そして不要なMetal APIコードが含まれています。必要なのは32ビットコード、iPhoneの「2倍」サイズのアセット、そしてOpenGLグラフィックコードだけです。 

App Slicesでは、開発者がデバイスごとにアセットをタグ付けし、iTunesからアプリをダウンロードする際に、デバイスに必要なアセットのみがダウンロードされます。Appleはこのプロセスを開発者にとって非常にシンプルなものにしているため、多くの開発者がサポートする可能性が高いでしょう。

オンデマンドリソース(ODR)は、アプリサイズを縮小する2つ目の方法です。ArsTechnica 、マルチレベルゲームを例に挙げています。通常、これらのゲームで必要なのは、現在プレイしているレベルと、それ以降の数レベルだけです。ODRとは、最初の数レベルが含まれたゲームをダウンロードできることを意味します。ゲームが進むにつれて、アプリは追加のレベルをダウンロードし、すでにクリアしたレベルを削除します。

最後に、Bitcodeについてです。開発者は、プリコンパイル済みのバイナリをアップロードする代わりに、Appleが「中間表現」と呼ぶアプリをアップロードします。App Storeはダウンロード直前にアプリを自動的にコンパイルします。これにより、開発者がコードにタグを付けていなくても、App Slicingの一部を自動的に実装し、必要に応じて32ビットまたは64ビットのコードのみをダウンロードできます。

しかし、Bitcode は、Apple がコンパイラを改良してコードの効率を高めた場合、アプリをダウンロードするとその改良が自動的に組み込まれることも意味します。

多少のトレードオフはあります。例えば、長時間のフライト中にマルチレベルゲームで時間をつぶしている場合、着陸までまだ4時間もあるのにレベルが尽きてしまうと少しイライラするかもしれません。しかし、全体的には、ほとんどの人にとって、特に16GBのデバイスを持っている人にとって、ほとんどの場合メリットになるはずです。

詳細はArsTechnicaでご確認ください 。

havebin.com を Google ニュース フィードに追加します。 

FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。