Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

非常に多くの異なるAndroidデバイスを提供するためのFacebookのシンプルなトリック

Anonim

一部の人々はそれを断片化と呼び、他の人々はそれを選択と呼びますが、どんな名前でも確かに多くの異なるAndroid携帯があります。 それらすべてと連携する必要があるアプリケーションを構築するのは簡単なことではありません。 大幅に異なるハードウェア構成があり、パフォーマンスに大きな違いがあります。1つのapkファイルがすべてのファイルで機能する場合でも、ハイエンドの機能を犠牲にすることなくローエンドデバイスでアプリをスムーズに実行する必要があるという問題があります-エンドデバイス。 Facebookと同じくらい人気のあるアプリについて話すとき、これはコーディングを行う人々にとってすぐに悪夢になります。

Facebookは、Big Android MeatとGreetの全員に、シンプルな新しいソリューションであるDevice Year Classコンポーネントを紹介しました。

Facebookの開発者は、この新しいソフトウェアコンポーネントを次のように説明しています。

Device Year Classは、デバイスのRAM、CPUコア、およびクロック速度を、これらの仕様の組み合わせがハイエンドと見なされた年にマッピングする単純なアルゴリズムを実装するAndroidライブラリです。 これにより、開発者は電話のハードウェアの機能に基づいてアプリケーションの動作を簡単に変更できます。

ライブラリは、アプリケーションの動作を変更しません。 開発者が特定の種類のハードウェアに合わせてエクスペリエンスを調整するためにアプリの動作方法を変更する必要がある場合に、コードに格納されている値(年として表される)を返します。 つまり、開発者は、Galaxy Note 4のようなもので実行しているときに意図したとおりに再生する派手なアニメーションとトランジションを使用してアプリを作成できますが、アプリがMoto Eのようなもので実行しているときは目を楽しませることはできません。想像してみてください。Facebookのようなアプリ(このアプリは何百万ものさまざまな携帯電話にインストールされています)を制御することで、ほぼすべての人にとってより良いエクスペリエンスを実現できます。 そして、実装は簡単です。 GitHubのドキュメントから:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

何よりも、このライブラリはBSDソフトウェアライセンス(GoogleがAndroidソースに使用するのと同じライセンス)の下でオープンソース化されており、すべての開発者が無料で使用できます。

これは魔法ではないことはわかっています。大きなプロジェクトに取り組んでいるほとんどの開発者は、さまざまなハードウェア構成を処理する何らかの方法を持っている可能性が高いです。 デバイスイヤークラスが行うことは、大きな問題に対するシンプルで「エレガントな」ソリューションを提供することであり、誰でも使用できます。

デバイス年クラスのGitHubページ