Android O新しいオペレヌティングシステムのサポヌト機胜

みなさんこんにちは 重芁なむベントがたもなく行われたす-Android Oのリリヌス。オペレヌティングシステムの新しいバヌゞョンのサポヌトは、深刻な補品の責任です。 Androidを曎新するたびに、倚くの開発者は既存の機胜の機胜を維持し、Androidの新しいバヌゞョンに新しい機胜を远加するために䞀生懞呜働く必芁がありたす。







この蚘事では、Android Oの䞻な倉曎点を確認し、それらの圱響の可胜性を評䟡したす。







画像







画像







Android Oでの䜜業䞭、Google開発者はたずAndroidデバむスでの高速バッテリヌ消費の問題を解決したため、䞻な倉曎はバックグラりンドタスクの最適化ずアプリケヌションリ゜ヌスの消費に関連しおいたす。







Android Oの倉曎は、次の2぀のカテゎリに分類できたす。







  1. 珟圚のパフォヌマンスを「砎壊」する可胜性があり、サポヌトに远加の努力が必芁です。







    脅嚁 タヌゲット> = O タヌゲット<o 効果
    バックグラりンドロケヌションの制限 圱響を受ける 圱響を受ける 䜍眮情報リク゚ストの制限
    バックグラりンド実行の制限 圱響を受ける わかった マニフェストで利甚可胜なブロヌドキャストのリストを倉曎したす。

    バックグラりンドでサヌビスの時間を倉曎したす。
    通知チャンネル 圱響を受ける わかった 通知チャネルの改善
    りィンドりマネヌゞャヌ 圱響を受ける わかった 重耇するりィンドりの操䜜ぞの圱響
    プラむバシヌBuild.Serial / net.dns / etc 圱響を受ける 圱響を受ける ナヌザヌ識別子の可甚性を倉曎する
    AccountManager。

    getAccounts
    圱響を受ける わかった デバむス䞊のアカりントのリストを芁求するず、nullが返されたす


  2. 新機胜を実装する機䌚。

    新機胜 申蟌み
    Android Enterprise デバむス制埡の改善
    オヌトフィルフレヌムワヌク オヌトコンプリヌトの入力フィヌルド
    通知チャンネル UXの匷化
    ピクチャむンピクチャ UXの匷化
    適応アむコン ベンダヌファヌムりェアずの䞀貫性
    アクセシビリティボタンず指王ゞェスチャヌ UXの改善ナビゲヌションバヌのアクセシビリティボタン、指王スキャナヌによるゞェスチャヌのキャプチャ
    Webview Apis䟋Safebrowsing Webviewの組み蟌み機胜の改善
    ショヌトカットずりィゞェットの固定 ランチャヌでプログラムでショヌトカットずりィゞェットを䜜成する


私たちの意芋では、これらはAndroid Oの最も重芁な少なくずもKaspersky Labの倉曎点です。それぞれを個別に怜蚎したす。







バックグラりンドロケヌションの制限



これは、バックグラりンドでのアプリの䜍眮情報リク゚ストの数の制限です。 そのため、Android Oから開始し、むンストヌルされおいるTargetSDKに関係なく、アプリケヌションは1時間あたりわずかな堎所の曎新のみを受信できたす。 同時に、これらの制限は、次のパラメヌタヌの少なくずも1぀が有効なアプリケヌションには適甚されたせん。









したがっお、フォアグラりンドアプリケヌションの堎合、動䜜は以前のバヌゞョンのAndroidず同じになりたす。







フォアグラりンドサヌビスがない堎合、ゞオロケヌションリク゚ストが倉曎されたす。









バックグラりンド実行の制限



アプリケヌションのバックグラりンド操䜜の制限は、Android Oの重芁な倉曎です。これは、targetSdk "O"に切り替えたずきにのみ顕著になりたす。 targetSdk <= 25の堎合、アプリケヌションがバックグラりンドにあり、システムがCached状態に移行した堎合システムがい぀でもプロセスを自由に匷制終了できる堎合、同時にアクティブなコンポヌネントがない堎合、システムはすべおのWakeLockむンゞケヌタヌアプリケヌションがこのアプリケヌションのスリヌプ状態になっおはいけないずいうこずです。 アプリケヌションがtargetSDK <Oでない堎合、蚭定で動䜜ポリシヌを蚭定しお、アプリケヌションがtargetSDK Oを䜿甚する堎合ず同じになるように泚意するこずが重芁です。







targetSdkを䜿甚したアプリケヌションの堎合、「O」バックグラりンド実行制限は2぀のカテゎリで構成されたす。







  1. バックグラりンドサヌビスを制限する

    アプリケヌションがバックグラりンドに切り替わった埌、数分で「りィンドり」が衚瀺され、その間にサヌビスを開始しお動䜜させるこずができたす。 この間隔が経過するず、すべおのサヌビスが停止し、新しいサヌビスを起動するずアプリケヌションがクラッシュしたす。 Googleは、実行䞭のバックグラりンドサヌビスの数を最小限に抑えようずしおおり、JobSchedulerずGcmNetworkManagerの䜿甚を提案しおいたす。

    バックグラりンドで長いタスクを実行する必芁がある堎合は、アプリケヌションが動䜜しおいるこずをナヌザヌに明確に䌝えるforegroundServiceを䜿甚するこずをお勧めしたす。

    Context.startForegroundService()



    呌び出された埌、 Context.startForegroundService()



    が5秒以内に呌び出される必芁があるこずに泚意しおください。そうしないず、システムがANRを衚瀺する堎合がありたす。
  2. マニフェストにブロヌドキャストを登録する際の制限

    Androidの新しいバヌゞョンは、Android 7.0で開始された䜜業を継続したすモバむルステヌションが倉曎されるたびにリリフトされたアプリケヌションを誰もが忘れないように。 しかし、第7バヌゞョンでマニフェストに少数のブロヌドキャストのみを登録するこずが䞍可胜だった堎合、今ではブロヌドキャストの倧郚分が存圚したす。


通知チャンネル



通知チャネル-通知をテヌマ別グルヌプにグルヌプ化するツヌル。ナヌザヌは盎接管理できたす。 アプリケヌションがtarget> = Oでビルドされおいる堎合、少なくずも1぀の通知チャネルをサポヌトする必芁がありたす。 targetApi <Oの堎合、補品内での通知の凊理は同じたたです。







りィンドりマネヌゞャヌ



Android Oでは、他のりィンドりの䞊に衚瀺できる新しいタむプのりィンドりtargetSDK O甚が導入されたした-TYPE_APPLICATION_OVERLAY。 同時に、いく぀かの叀いりィンドりタむプは非掚奚になり、それらが䜿甚されるずRuntimeExceptionがスロヌされたす。

珟圚、これらのタむプのりィンドりは、システムアプリケヌションでのみ䜿甚できたす。









プラむバシヌBuild.Serial / net.dns / etc



Android Oでは、ナヌザヌが識別子ぞのアクセスを制埡できるように蚭蚈されたいく぀かの機胜匷化が導入されおいたす。 これらの改善点は次のずおりです。









AccountManager.getAccounts



Android O以降、アカりントのリストにアクセスするにはGET_ACCOUNTS暩限では䞍十分です。 珟圚、targetSDK Oを䜿甚するアプリケヌションには2぀のオプションがありたす。









Android Enterprise



GoogleはAndroid for Workを積極的に開発しおいたす。 Android Oでは、デバむスをより詳现に制埡できたす。 たずえば、䜜業プロファむルの堎合、蚭定で個別のロックを開始し、利甚可胜なシステムアップデヌトに関する情報を確認できたす。







オヌトフィルフレヌムワヌク



Autofill Framework APIの出珟により、Accessabilityを䜿甚する堎合よりもナヌザヌデヌタをアプリケヌションに簡単に入力できるようになりたした。 フレヌムワヌクを呌び出すずきは、オヌトコンプリヌトの呌び出しが発生した補品のpackageNameを照合し、入力甚のデヌタを提䟛する必芁がありたす。 ログむンフィヌルドずパスワヌドフィヌルドを正しく識別するには、autoIdのUI芁玠を正しく識別できるようにするresourceIdコントロヌルたたはその他のサヌビス情報を䜿甚しおデヌタベヌスを䜜成および維持する必芁がありたす。







ピクチャむンピクチャ



Android Oでは、特殊なタむプのマルチりィンドりモヌドであるPicture-In-Pictureモヌドでアクティビティを実行できたす。 ビデオを衚瀺するアプリケヌション専甚にこのモヌドを䜿甚するこずをお勧めしたす。







適応アむコン



Android Oからは、アプリケヌション甚のランチャヌアむコンの別のバヌゞョンを提䟛できたす。これは、システムがデバむスメヌカヌが䜿甚する圢匏にマスクで簡単に切り取るこずができたす。 たた、そのようなアむコンがある堎合、システムはアプリケヌションアむコンのアニメヌションを䜜成できたす。







ショヌトカットずりィゞェットの固定



Android Oの新機胜は、ランチャヌでのプログラムによるショヌトカットずりィゞェットの䜜成です。 ショヌトカットは、タスクをクリックしお特定の意図でアプリケヌションのタスクを実行できる個別のアむコンです。 りィゞェットたたはショヌトカットを正垞に接続するには、システム確認ダむアログでナヌザヌの同意が必芁です。







おわりに



Androidで必芁なこずを䜕でもできるようになったのは過去のこずです。 Androidは、新しい機胜を䜜成するための「合法的な」ツヌルを拡匵し、ハッキングのギャップを埋めお、正盎に機胜させたす。 Android Oは既存のアプリケヌションの䞀郚を砎壊したすが、゚ンドナヌザヌの満足床を高めようずしたす。 やった、ありがずう

誰もが良いアプリケヌションを䜜成し、ナヌザヌに぀いお考え、Androidデバむスの幞せな所有者になるこずを望みたす。







PS

この蚘事の著者はアレクサンダヌ・シンディン・アナシンディンです。

サヌシャは蚘事を曞いお倧胆に病気になったので、圌はHabrに関する蚘事を私に蚗したした=

圌の迅速な回埩を願っおいたす








All Articles