かつて、Apple の iOS と Google の Android の間でのモバイル アプリのクラッシュを調査したところ、Android に比べて iOS でアプリが著しく頻繁にクラッシュすることが示唆されたようです。ただし、開発者とアナリストは、なぜこれが起こるのかについていくつかの説明を提供しています。よくあることですが、数字の背後にあるストーリーは、些細なクリックベイトの見出しが伝えられるものよりも微妙で複雑です。
単純化された統計の誤解を招く性質
ほぼ1年前、ブランコ テクノロジー グループは、モバイル デバイスからの診断レポートの分析を対象とした 2017 年第 1 四半期四半期報告書の中で、「iPhone では Android デバイスよりもアプリがほぼ 3 倍クラッシュする」と述べています。
その発表は当時、次のような見出しを飾りました。最近の話情報源とサイトの両方がこの話を指導していたにもかかわらず、Android ユーザーは iPhone 購入者よりも「忠実」であると主張しました (テッククランチ) 彼らは、プラットフォームとしての Android が実際には、その逆よりも多くのユーザーを iOS に奪われていることを認識しており、記事の終わりまでにそう述べていました。
iOS アプリのクラッシュの事例は、同じ診断データから収集された別の統計と一致します。つまり、iPhone のデバイスの故障が iPhone 6 から増加し始めたということです。前の記事, これはiPhone 6が欠陥モデルだったからではなく、むしろ製品として成功したためです。失敗のカウント方法は実際に統計に重みを付けて、単に一般的であるという理由で、人気のあるモデルがより問題があるものとして描写しました。
しかし、その統計を裏返すと、より興味深い考えが明らかになりました。販売台数の点では同様の人気があるにもかかわらず、歴代の iPhone では故障の報告が少なく、質的に向上していることがわかりました。
さらに、Apple の標準サイズと Plus サイズの iPhone モデルの製品構成は、ここ数年でより大きな Plus サイズに徐々に移行しています。しかし、これらの新しい Plus サイズ モデルでは、標準の iPhone モデルに関連する故障が激減しているのと並行して、さらなる問題は報告されていません。繰り返しますが、これは明らかに改善しているためです。
Android には標準モデルがないため、Android について観察するのはさらに困難です。品質はメーカー間、モデル間で大きく異なります。ただし、Blancco は、2 つのプラットフォームの違いについて興味深い洞察を提供する四半期レポートを発行しています。
Blancco 自身が iOS アプリのクラッシュの原因として特定した主な理由の 1 つは、実際には Apple の頻繁な OS アップデートに関連しており、メジャーな iOS アップデートのリリース前後でアプリのクラッシュが増加していることを指摘しました。
iOS アプリがクラッシュする原因の 1 つは、Apple が頻繁に広く導入しているアップデート サイクルです。
OS の動作方法 (および開発者が使用するその基盤となる API) に変更を加えると、アプリ開発者にとって問題が発生する可能性があります。 Apple は、主要なソフトウェア アップデートや新機能を積極的に展開しているだけでなく、これらの変更を急速に主流に押し込んでいます。これらの OS の変更に関連する新しいアップデートとアプリのクラッシュの間には明らかな相関関係があるようです。
一方で、Android が 1 ~ 2 年以上デバイスをサポートできないということは、Android 開発者が古い API プラットフォームで実行される可能性を考慮する必要があることを意味します。全体として、Google からのアップデートが少ない(新しいモデルのサブセットでサポートされている)ということは、開発者へのプレッシャーが少ないことを意味するかもしれませんが、サードパーティの開発者が新しいテクノロジーを採用する推進力も低下する結果になります。Google が昨年 5 月に発表したアクティブな Android デバイス 20 億台のうち、「これらのデバイスのほぼ半数は 2 年前のものです」。
Google の Android ソフトウェア アップデートの問題点は次のとおりです。悪化する。同社は Android の新しいバージョンをリリースし続けていますが、その展開ペースは鈍化しています。
によると分析Dan Luu 氏によると、「データを見なければ明らかではなかったのは、新しいバージョンの採用が減速しているようだということです。」
同氏は、Googleが昨年5月に発表した20億台のアクティブなAndroidデバイスのうち、「これらのデバイスのほぼ半数が2年前のものである」と指摘した。そのため、メジャーなソフトウェア アップデートに関連する問題により、サードパーティ製アプリがそれほど頻繁にクラッシュすることはないかもしれませんが、それは必ずしも祝うべき理由ではありません。
優れた OS は、悪いアプリがクラッシュしないことを意味するものではありません
Blancco 氏はまた、どのプラットフォームでもアプリのクラッシュは開発者のせいであることが多いと観察しました。そして、人気の高い携帯電話モデルがそのありふれた理由からテストの失敗に関連付けられていたのと同じように、最も人気のあるアプリが、クラッシュする iOS アプリの同社のリストの上位に表示されています。
Facebook とその Instagram および Messenger アプリは、最も頻繁にクラッシュするアプリの上位 4 つのうち 3 つであり、残りの 1 つは Google でした。トップ 10 の残りには、Snapchat、Pinterest、WhatsApp など、人気があり頻繁に使用されるさまざまなソーシャル ネットワーキング アプリが含まれています。
Facebook自体も頻繁に更新されています。 iOS では、現在バージョン 162 です。 Instagram など、同社の他のアプリも頻繁に更新されます。しかし、インスタグラム以来、追加サポート2012 年に Android 向けに開発されたこのアプリは、Apple の iOS プラットフォームに追いついていませんでした。 Instagram のフィルター アーキテクチャは、Apple の最新の A7 に最適化されたグラフィックス用 Metal API ではなく、パフォーマンスの低い OpenGL ES に完全に基づいているようです。レガシーを除けば、最も可能性の高い理由は、Android と同等の機能を維持するためです。しかし、Apple の最新のグラフィックス パフォーマンスの最適化も逃しています。
Instagram の開発者は、ワイドカラー2017 年の時点では (Android のインストールベース全体ではサポートされていない機能)、iPhone 6s で導入された Live Photos、iPhone 7 Plus で導入されたズームレンズやデュアルカメラのサポートなどの主要な iOS 画像関連機能がまだ採用されていません。 iPhone XのDepth APIとTrueDepthカメラ。
実際、Facebook の Instagram アプリは、新しい携帯電話がリリースされてから数か月間、iPhone X 上ではひどい見た目になり続けました (下)。複数の画像を合成するための Layout やビデオ クリップをアニメーション化するための Boomerang など、リンクされているヘルパー アプリは頻繁にクラッシュするだけでなく、ノッチの両側の「耳」にあるナビゲーション要素を誤って描画し、場合によっては唯一の解決策が力を必要とする場合がありました。・インスタグラムをやめる。
InstagramがiPhone Xをサポートするのが遅れた
OS のアップデートと同様に、アプリを頻繁にアップデートすると、安定性に関して一連の課題が生じます。ただし、頻繁なアップデートによってもたらされる問題よりもさらに悪いのは、頻繁なアップデートに関連するより深刻な問題です。
Android で最もクラッシュするアプリは Google プラットフォームの一部です
iOS で実行されているアプリと Android で実行されているアプリのクラッシュ データを比較すると、別のことがわかります。Android で発生するクラッシュは、一般的に使用されている最も人気のあるサードパーティ アプリではありませんでした。それらは主に Android の中核部分である Google サービスでした。
Android 上のアプリがクラッシュする頻度は減ったと報告されていますが、クラッシュが発生したのは、Google の IMS サービス (メッセージング)、アドレス帳、および頻繁にアップグレードされる可能性が最も高い Android の部分である Google Play サービスでした。クラッシュのトップ 10 に含まれる他のコードは、Android 自体の他のコンポーネント (Stock Android、Messages、Mobile Transfer) です。 YouTube と Google の検索アプリもクラッシャーのトップ 10 にランクインしました。
これにより、クラッシュした Android アプリのトップ 10 のうち、Google のコードではないアプリは 2 つだけになりました。Samsung の TouchWiz (Samsung 製の携帯電話にしか表示されなかったにもかかわらず、Android デバイスの中で顕著に表示されました) と、もちろん Facebook です。 Instagram、メッセンジャー、Snapchat など、その他の一般的に使用されているサードパーティ アプリは、プラットフォーム自体がそれらを上回っていたため、Android のクラッシュするアプリのトップ 10 リストにすら登場しませんでした。
したがって、サードパーティのタイトルがクラッシュする頻度が減ったために、Android がアプリにとって優れたプラットフォームであるという見出しの幻想にもかかわらず、実際には Android 自体が頻繁にクラッシュしていたのです。また、ハードウェアの問題の中でも、Google のカメラ アプリも Android で頻繁に失敗することがデータで概説されています。
Android は CPU、RAM、メモリの消費量が多い
Android と iOS のクラッシュ統計の違いを指摘してから 1 年後、Blancco の最新の四半期報告書には「アプリのクラッシュ」という用語さえまったく記載されていません。その代わりに、「Android携帯電話は、高いCPU、RAM、メモリの消費量、古いソフトウェアバージョン、誤動作するアプリなどのパフォーマンス関連の問題を抱えている」と観察した。「Android スマートフォンは、CPU、RAM、メモリの消費量が多い、ソフトウェアのバージョンが古い、アプリが不正に動作するなど、パフォーマンス関連の問題に悩まされています。」
そのため、Google の Android プラットフォームは、悪質なサードパーティ製アプリに加えて、CPU パフォーマンスとメモリ使用量の管理に関する中核的な問題にも悩まされています。
同社が行った推奨事項の 1 つは、「最新の Android ソフトウェア リリースに更新すると、バックグラウンドで実行されている余分なアプリをシャットダウンしたり、アプリのキャッシュをクリアしたり、ウィジェットを無効にしたりすることで、これらのパフォーマンスの問題の一部を顧客が回避できる可能性があります。」です。
Android の差別化機能であるウィジェットをオフにすることは誰でもできることですが、Google またはハードウェア メーカーが最新の Android ソフトウェア アップデートを提供していないため、多くの Android ユーザーは最新の Android ソフトウェア アップデートをインストールできません。
実際、Google 自身も、新しく 2 年前の自社製品のサポートを打ち切ったばかりです。ネクサスフォンそしてその最後に残ったタブレット、次期 Android P の Pixel C です。大多数の Android デバイスで最新のソフトウェア リリースを入手するオプションはなくなりました。また、Google は、昨年導入された自社のデバイスのハードウェア アップデートを拡張するための独自のメカニズムさえサポートしていません。ネクサスモデル。
繰り返しになりますが、Google が Google Play Services レイヤーを介して古い Android 向けに提供している更新コンポーネントは、依然として Android の最もクラッシュするコードのリストの上位にあり、Android には頻繁に更新される OS 機能のメリットがほとんどなく、最大の欠点が与えられています。 iOS のメジャー リリースでは、サードパーティ アプリに初期問題が発生する可能性がありますが、頻繁かつ長期にわたる無料アップデートの利点が不便さを大幅に上回る傾向があります。
Blancco 氏はまた、世界的には OS 関連のパフォーマンス関連の問題が Android の苦情リストのトップを占めている一方、一般的なハードウェアの問題はすべて Android の OS の欠陥に遠く及ばないことも詳しく説明しました。これは、Google のソフトウェアは素晴らしく、そのライセンシーはそれを統合する(または Google の Pure Android のアイデアから脱却する)ためのより良い仕事をする必要があるだけだというメディアの報道がまったく正確ではないことを示唆しています。
Android プラットフォームのパフォーマンスが優れているだけではなく、その主な原因は Google にあります。