Gemini 1.5 with Pro Deep Research vs Perplexity: 技術調査のために使うなら

投稿者: | 2025年1月18日

Gemini 1.5 with Pro Deep Research vs Perplexity: Android 14 と 15 におけるアプリ開発上の差分調査

Android 14 と 15 におけるアプリ開発上の差分についてGemini 1.5 with Pro Deep ResearchとPerplexityを利用して調査した。これまでは、この手の調査にはPerplexityが広く用いられてきたと思う。今回初めてGemini 1.5 with Pro Deep Researchを利用して、Perplexityと結果を比較したところ、Gemini 1.5 with Pro Deep Researchの方が網羅的でいいと判断した。

Perplexityの方はやや総論的な短評なのに対し、Gemini 1.5 with Pro Deep Researchは序論から結論までまとまった議論を提示してくれる。

ざっと中身を知りたいというのならPerplexityが良いと思うが、社内で意識合わせするための技術文書としてはGemini 1.5 with Pro Deep Researchの作成する包括的な文章が適していると思う。

以下引用

Gemini 1.5 with Pro Deep Researchによるまとめ

近年、Android OS はタブレットやフォルダブル端末など、様々なフォームファクタに対応すべく進化を続けています。1 それに伴い、アプリ開発者もそれぞれの OS バージョンにおける変更点や新機能を把握し、最適なアプリを提供することが求められます。

本稿では、Android 14 と 15 におけるアプリ開発上の差分について、公式ドキュメント 2、API diff 3、技術ブログ記事 1、開発者コミュニティの意見 4 などを参考にしながら詳細に解説していきます。

フォアグラウンドサービスの変更点

Android 14 と 15 の両方で、フォアグラウンドサービスに関する変更が行われています。

Android 14 の変更点

Android 14 では、フォアグラウンドサービスと JobScheduler に関して、ユーザー開始のデータ転送のための新機能の追加や、フォアグラウンドサービスの種類を宣言するための要件の更新など、既存の Android API に変更が加えられました。1

  • ユーザー開始のデータ転送ジョブ: ユーザーが開始したダウンロードやアップロードの管理が容易になります。特に、Wi-Fi のみでダウンロードする場合など、制約が必要な場合に役立ちます。
  • フォアグラウンドサービスの種類の宣言: アプリのバックグラウンド処理の目的を明確に定義し、フォアグラウンドサービスに適したユースケースを明確にすることができます。これにより、システムはアプリの動作をより深く理解し、リソースの割り当てを最適化することができます。

Android 15 の変更点

Android 15 では、新しいフォアグラウンドサービスタイプ mediaProcessing が導入されました。5 このサービスタイプは、メディアファイルのトランスコードなどの操作に適しています。例えば、メディアアプリがオーディオファイルをダウンロードし、再生前に別の形式に変換する必要がある場合などです。 mediaProcessing フォアグラウンドサービスを使用することで、アプリがバックグラウンドにある間でも変換が継続されるようにすることができます。

Android 15 では、データ同期フォアグラウンドサービスのタイムアウト動作も変更されました。6 システムは、アプリの mediaProcessing サービスが 24 時間の間に合計 6 時間実行されることを許可し、その後、実行中のサービスの Service.onTimeout(int, int) メソッド(Android 15 で導入)を呼び出します。開発者は、このタイムアウト動作を考慮し、長時間実行されるメディア操作を適切に処理する必要があります。

アラームの変更点

Android 14 では、正確なアラームの呼び出しに関する制限が強化されました。

正確なアラームの呼び出しは、バッテリー寿命など、デバイスのリソースに大きな影響を与える可能性があります。そのため、Android 14 では、Android 13 以降(SDK 33 以降)をターゲットとする新規インストールアプリは、正確なアラームを設定する前に、ユーザーに SCHEDULE_EXACT_ALARM 特殊権限を付与するように要求する必要があります。1

ただし、時計やカレンダーアプリなど、コアアプリのワークフローの一部として正確なアラームに依存するアプリは、代わりに USE_EXACT_ALARM 通常権限を宣言することができます(インストール時に付与されます)。1

この変更により、アラームを多用するアプリは、ユーザーに権限を要求するか、アラームの使用を再検討する必要が生じます。

プライバシーの強化

Android 14 では、プライバシーの強化が図られています。7 ユーザーにデータの制御を強化し、開発者はこれらの変更に対応する必要があります。

  • アプリへの一時的な権限の付与: ユーザーはアプリに一時的な権限を付与できるようになりました。7 これにより、ユーザーはアプリが必要とする最小限の権限のみを付与し、不要なアクセスを防ぐことができます。開発者は、権限要求を適切かつ効率的に処理し、一時的な権限が取り消された場合でもアプリが正常に動作するように設計する必要があります。
  • センサーへのアクセス状況の可視化: ユーザーは、カメラやマイクなどの特定のセンサーにアクセスしているアプリを確認し、必要に応じてアクセスを取り消すことができるようになりました。7 開発者は、アプリが権限をどのように使用するかについて透明性を維持し、ユーザーに明確な情報を提供する必要があります。

これらの変更は、ユーザーのプライバシー保護を強化する一方で、アプリ開発者にはより慎重な権限管理と透明性の高い情報提供が求められます。

セキュリティの強化

Android 14 と 15 では、セキュリティ強化のための変更が行われています。

Android 14 の変更点

  • ダイナミックコードの読み込み: Android 14 をターゲットとするアプリでは、動的に読み込まれるファイルを読み取り専用としてマークする必要があります。1 これにより、悪意のあるコードの挿入や実行を防ぐことができます。
  • インストール可能なアプリの制限: Android 14 以降、targetSdkVersion が 23 未満のアプリはインストールできなくなりました。1 古いバージョンの SDK をターゲットとするアプリは、セキュリティリスクが高いため、この制限によりユーザーのデバイスを保護することができます。
  • インテントの制限: Android 14 をターゲットとするアプリでは、内部アプリコンポーネントへの暗黙的インテントの送信が制限されます。8 また、変更可能な PendingIntent を暗黙的インテントで作成しようとすると例外が発生します。8 これらの変更は、悪意のあるアプリがインテントを傍受して悪用することを防ぐためのものです。開発者は、明示的なインテントを使用するか、コンポーネントをエクスポートする必要があります。
  • バックグラウンドからのアクティビティ起動の制限: Android 14 をターゲットとするアプリは、PendingIntent を送信したり、サービスにバインドしたりする際に、バックグラウンドでアクティビティを開始する権限を付与する必要があります。8 これにより、バックグラウンドで不要なアクティビティが起動されることを防ぎ、ユーザーエクスペリエンスを向上させることができます。

Android 15 の変更点

  • TLS 1.0 および 1.1 の使用制限: Android 15 では、TLS バージョン 1.0 および 1.1 の使用が禁止されました。6 これらの TLS バージョンは、以前の Android で非推奨とされていましたが、Android 15 では使用が許可されなくなりました。これは、セキュリティ上の脆弱性に対処するためのものです。
  • バックグラウンドアプリによるフォアグラウンドアプリの起動制限: Android 15 では、バックグラウンドアプリが他のアプリをフォアグラウンドに移動させて権限を昇格させることを防ぐことで、悪意のあるアプリからユーザーを保護します。6

UI の変更点

Android 14 では、UI に関する変更点もいくつかあります。

  • 非線形フォントスケーリング: Android 14 では、最大 200% までのフォントスケーリングがサポートされるようになりました。1 以前は、Pixel デバイスの最大フォントサイズスケールは 130% でした。テキストが大きくなりすぎる問題を軽減するために、Android 14 では非線形フォントスケーリングカーブが自動的に適用されます。これにより、すでに十分な大きさのテキストは、小さなテキストと同じ速度で増加しません。開発者は、最大フォントサイズを有効にして UI テストを実行し、アプリが使いやすさに影響を与えることなく大きなフォントサイズに対応できることを確認する必要があります。
  • 予測バックアニメーション: Android 14 では、予測バックアニメーションとカスタムトランジションのサポートが追加されました。3 開発者は、新しいシステムバック API を使用して、予測バックアニメーションとカスタムトランジションをオプトインすることができます。

その他の変更点

Android 14 の変更点

  • Credential Manager の導入: ユーザーの認証プロセスを簡素化し、パスキーのサポートによりセキュリティを強化する新しい Jetpack API が導入されました。1
  • OpenJDK 17 のアップデート: Android 14 は OpenJDK 17 LTS リリースに合わせて調整され、改善と互換性の変更が加えられました。9
  • パス: パスがクエリ可能で補間可能になりました。3
  • アプリごとの言語設定: アプリは独自の言語を選択できるようになりました。3
  • 文法変形 API: Android 14 は、アプリが文法を正しく理解するのに役立ち、会話をより自然に感じさせます。3
  • 地域設定: アプリは、ユーザーが地域を変更したことを認識できるようになりました。3
  • 最小インストール可能ターゲット API レベル: Android 14 をターゲットとするアプリは、「ターゲットバージョン」が 23 以上である必要があります。1
  • メディア所有者パッケージのプライバシー: Android は、特定の条件下で、メディアファイルの所有者に関する情報を非公開にするようになりました。10
  • スクリーンショット検出: プライバシー保護 API が、アプリのアクティビティ中にユーザーがスクリーンショットを撮ったことを検出し、通知します。9

Android 15 の変更点

  • PdfRenderer API の改善: Android 15 では、PdfRenderer API が大幅に改善され、パスワードで保護されたファイルのレンダリング、注釈、フォーム編集、検索、コピー付き選択などの高度な機能をアプリに組み込むことができるようになりました。5 また、線形化 PDF の最適化がサポートされ、ローカル PDF の表示速度が向上し、リソースの使用量が削減されます。
  • 自動言語切り替えの改善: Android 15 では、自動言語切り替えに関する改善が行われました。5 開発者は、特定の回数切り替えが行われた後に言語切り替えを無効にすることができるようになりました。また、ハイフネーションと指定されたテキスト部分を同じ行に保持することで、アプリの可読性を向上させることもできます。
  • OpenJDK API の追加: math/strictmath メソッドの追加サポート、シーケンス化された collection/map/set、Deflater での ByteBuffer サポート、セキュリティキーの更新など、OpenJDK API のサポートが強化されました。5
  • ApplicationStartInfo API: アプリの起動時の状態に関する情報を開発者に提供します。5
  • パッケージ停止状態の変更: アプリが停止状態になったタイミングを開発者が把握できるようになりました。5
  • StorageStats.getAppBytesByDataType() API: アプリがデバイスの容量をどのように使用しているかについての洞察を得ることができます。5
  • Neural Networks API NDK API の廃止: Android 15 では、Neural Networks API NDK API が廃止されました。11 ただし、Neural Networks HAL インターフェースは引き続きサポートされており、NNAPI ドライバーはこの廃止の影響を受けません。
  • コンパイラフィルターのオーバーライド: Android 15 以降、setAdjustCompilerFilterCallback API を使用して、特定のパッケージのコンパイラフィルターをオーバーライドすることができます。11
  • サブスクリプションレベルでのサービス機能の指定: Android 15 では、通信事業者がサブスクリプションレベルでデバイスのサービス機能を指定できるようになりました。11 これにより、アプリ開発者は、デバイスレベルに加えて、サブスクリプションで利用可能な機能に基づいてアプリのユーザーエクスペリエンスをカスタマイズすることができます。
  • Camera ITS テストの更新: Android 15 では、Camera ITS テストが更新され、新しいテストと更新されたテストが含まれています。11
  • 低照度ブースト: Android 15 では、低照度ブーストが導入されました。11 これは、Camera2 の HAL で、またナイトモードなどのカメラ拡張機能の一部として実装できる新しい自動露出モードです。低照度ブーストは、低照度条件下でプレビュストリームの明るさを自動的に調整します。
  • Android Packet Filter v6: Android 15 では、Android Packet Filter (APF) v6 が導入されました。11 これには、デバッグとメトリックのためのカウンターと、パケット送信のサポートが含まれています。
  • Android 独自の NCI コマンド: Android 15 では、NFC コントローラーと対話するための新しい Android 独自の NFC コントローラーインターフェース (NCI) コマンドが追加されました。11
  • ドメイン選択サービス: Android 15 では、ドメイン選択サービスが導入されました。11

API diff

Android 14 と 15 の API diff を確認することで、アプリ開発に影響がありそうな変更点を把握することができます。3 ここでは、主要な API の変更点を表にまとめます。

カテゴリ Android 14 の変更点 Android 15 の変更点
国際化 アプリごとの言語設定 3 自動言語切り替えの改善 12
セキュリティ 暗黙的インテントの制限 8\<br>Runtime-registered broadcasts receivers のエクスポート動作の指定 13\<br>動的コードの読み込みの安全性向上 13 TLS 1.0 および 1.1 の使用制限 6\<br>バックグラウンドアプリによるフォアグラウンドアプリの起動制限 6
カメラ HDR ヘッドルーム制御 12\<br>ラウドネス制御 12
その他 Credential Manager の導入 13\<br>Health Connect の導入 13\<br>OpenJDK 17 のアップデート 13 PdfRenderer API の改善 14\<br>OpenType 可変フォント API の改善 12

開発者コミュニティからの意見

開発者コミュニティフォーラムなどでは、Android 14 と 15 のアプリ開発に関する様々な議論が行われています。4 ここでは、主な意見をカテゴリ別にまとめます。

アクセシビリティ

  • Android 14 では、アプリのアクセシビリティサービスを有効にするのが難しくなったという意見があります。16

セキュリティ

  • Android 14 では、targetSdkVersion が 23 未満のアプリをインストールできないようにすることで、セキュリティリスクを軽減できるという意見があります。17

パフォーマンス

  • Android 14 では、内部ブロードキャストシステムの最適化により、バッテリー寿命と応答性が向上したという意見があります。1

互換性

  • Android 14 では、古い API を使用しているアプリが正常に動作しない可能性があるという懸念があります。4

その他

  • Android 14 では、ロック画面の PIN 入力時のアニメーションが変更されたことに対する意見があります。16
  • Android 15 では、ワイヤレス充電に問題が発生するという意見があります。15
  • Android 15 では、バッテリー充電制限機能が利用できないという意見があります。15
  • Android 15 は OS アップデートというよりは機能ドロップに近いという意見もあります。15

まとめ

Android 14 と 15 では、アプリ開発に影響を与える様々な変更点があります。特に、フォアグラウンドサービス、アラーム、プライバシー、セキュリティに関する変更は、アプリの動作に大きな影響を与える可能性があります。開発者は、これらの変更点を理解し、アプリを適切に更新する必要があります。

API diff を確認することで、アプリ開発に影響がありそうな変更点を把握することができます。開発者は、API diff を参考に、アプリの互換性を維持するために必要な変更を行う必要があります。

開発者コミュニティフォーラムなどの意見を参考に、Android 14 と 15 のアプリ開発に関する問題点や課題を把握しておくことも重要です。

本稿が、Android 14 と 15 におけるアプリ開発上の差分を理解し、アプリ開発に役立てるための参考になれば幸いです。

Works cited

1. The first developer preview of Android 14 - Android Developers Blog, accessed January 15, 2025, https://android-developers.googleblog.com/2023/02/first-developer-preview-android14.html
2. Android 14 | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/14
3. Features and APIs Overview | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/14/features
4. android 14 | B4X Programming Forum, accessed January 15, 2025, https://www.b4x.com/android/forum/tags/android-14/
5. The Second Developer Preview of … - Android Developers Blog, accessed January 15, 2025, https://android-developers.googleblog.com/2024/03/the-second-developer-preview-of-android-15.html
6. Behavior changes: Apps targeting Android 15 or higher | Android …, accessed January 15, 2025, https://developer.android.com/about/versions/15/behavior-changes-15
7. Android 14 A Developer’s Guide | Medium, accessed January 15, 2025, https://medium.com/@nandhuraj/exploring-android-14-a-developers-guide-to-the-latest-android-os-a6157ffdc1e9
8. Behavior changes: Apps targeting Android 14 or higher | Android …, accessed January 15, 2025, https://developer.android.com/about/versions/14/behavior-changes-14
9. Exploring Android 14: A Developer’s Guide to New Features and …, accessed January 15, 2025, https://medium.com/@heysahilpatel/exploring-android-14-a-developers-guide-to-new-features-and-changes-f8a705f9047a
10. Behavior changes: all apps | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/14/behavior-changes-all
11. Android 15 and Android 15-QPR1 release notes | Android Open …, accessed January 15, 2025, https://source.android.com/docs/whatsnew/android-15-release
12. Android 15 features and changes list | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/15/summary
13. Android 14 features and changes list | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/14/summary
14. Features and APIs Overview | Android Developers, accessed January 15, 2025, https://developer.android.com/about/versions/15/features
15. Question - Android 15 Has Dropped! | XDA Forums, accessed January 15, 2025, https://xdaforums.com/t/android-15-has-dropped.4697992/
16. Android 14 - what’s new for users? | B4X Programming Forum, accessed January 15, 2025, https://www.b4x.com/android/forum/threads/android-14-whats-new-for-users.156049/
17. android 14 | XDA Forums, accessed January 15, 2025, https://xdaforums.com/tags/android-14/


Perplexityによるまとめ

質問: Android 14と15におけるアプリ開発上の差分について教えて下さい

回答

Android 14と15の間には、アプリ開発において重要な差分がいくつか存在します。主な変更点は以下の通りです。

セキュリティとプライバシーの強化

Android 15では、セキュリティとプライバシーに関する機能が更に強化されています。

  • バックグラウンドからのアクティビティ起動に関する制限が厳しくなり、悪意のあるアプリからユーザーを保護する仕組みが改善されました14
  • 非SDK インターフェースの制限が更新され、公開APIの使用が推奨されるようになりました10

パフォーマンスと電力効率の改善

Android 15では、アプリのパフォーマンスと電力効率を向上させるための新機能が導入されています。

  • Android Dynamic Performance Framework (ADPF)が拡張され、ゲームや高性能アプリがデバイスの電力・熱システムとより直接的に相互作用できるようになりました20
  • 16KBページサイズのメモリサポートが追加され、ネイティブコードを使用するアプリは再ビルドが必要になる場合があります10

開発者の生産性向上

Android 15では、開発者の生産性を向上させるための機能が追加されています。

  • OpenJDK APIが更新され、NIOバッファ、ストリーム、セキュリティなどの改善が行われました20
  • Jetpack ComposeやAndroid Studioなど、開発ツールやライブラリの機能が強化されています20

メディア処理の改善

Android 15では、メディア処理に関する新機能が追加されています。

  • 新しいフォアグラウンドサービスタイプ「mediaProcessing」が導入され、メディア系アプリのバックグラウンド処理が改善されました1
  • カメラや画像処理に関する機能が強化されています20

クロスデバイス開発の強化

Android 15では、異なるデバイス形態に対応するための機能が強化されています。

  • タブレットやフォルダブルデバイスなど、大画面デバイス向けの開発サポートが改善されました18

これらの変更点を踏まえ、Android 15をターゲットとするアプリ開発では、新機能の活用と共に、セキュリティや性能面での対応が必要となります。特に、バックグラウンド処理やフォアグラウンドサービスの使用方法、非SDK インターフェースの利用については注意が必要です。また、新しいハードウェア機能やAI処理の活用も検討すべきポイントとなります。

質問: Android 14より前のバージョンとの差分という観点ではどうなっていますか?多くの13以前の端末が稼働中ですよね。

回答

Android 14は、以前のバージョン(特にAndroid 13以前)と比較して、いくつかの重要な差分があります。これらの変更は、多くの既存のAndroidデバイスに影響を与える可能性があります。

セキュリティとプライバシーの強化

  • 古いアプリのインストール制限: Android 14では、API レベル23(Android 6.0 Marshmallow)未満をターゲットとするアプリのインストールがブロックされます1,5。これは、古い脆弱性を悪用するマルウェアからユーザーを保護するためです。
  • 部分的な写真・ビデオアクセス: ユーザーは特定の写真やビデオのみにアプリがアクセスすることを許可できるようになりました2, 5

パフォーマンスと電力効率の改善

  • バッテリー寿命の向上: システムレベルの最適化により、Android 13と比較して15-20%のバッテリー寿命の改善が報告されています8
  • キャッシュされたアプリの制限: Android 14では、キャッシュされたアプリのCPU使用量が大幅に削減されました6

ユーザーエクスペリエンスの向上

  • ロック画面のカスタマイズ: ユーザーは時計のスタイルやショートカットをカスタマイズできるようになりました2, 15
  • 予測バックジェスチャー: ユーザーがバックジェスチャーを使用する際、次の画面のプレビューが表示されるようになりました12
  • 大きなフォントサイズのサポート: フォントサイズを最大200%まで拡大できるようになり、視覚障害のあるユーザーにとって便利になりました5, 18

開発者向けの変更

  • フォアグラウンドサービスの変更: 開発者はフォアグラウンドサービスタイプを宣言し、特定の権限を要求する必要があります6
  • バックグラウンドからのアクティビティ起動制限: Android 14をターゲットとするアプリは、バックグラウンドからアクティビティを起動する際に追加の権限が必要になります10
  • OpenJDK 17のサポート: Java 17の言語機能が利用可能になり、開発者により多くの選択肢が提供されます19

これらの変更は、セキュリティ、パフォーマンス、ユーザーエクスペリエンスの向上を目的としていますが、古いデバイスや更新されていないアプリには互換性の問題が生じる可能性があります。開発者は、これらの変更に対応するためにアプリを更新する必要があるかもしれません。


引用はここまで

比較結果と使用法について

新規開発や機能追加などでプラットフォームの最新状況を調べる必要は増えこそすれ減らないだろう。こう言った調査の場合、かなり詳細かつ網羅的な情報が欠かせない。Gemini 1.5 with Pro Deep Researchはこう言った目的の調査に適している。間もなく2.0へとバージョンアップするであろうし、今後も利用していきたい。

Perplexityは検索対象を見ていると、日本語で質問すると日本のサイトを検索してくれる。これは諸刃の剣で、その分、英語サイトへのアクセスが減るなら、技術的に浅くなるかも知れない。

うまく使い分けていくことが肝心だ。

コメントを残す