Android P teraz zlyhá aplikácie namiesto toho, aby vám oznámil, že nereagujú (známe ako dialóg App Not Responding alebo ANR). Je to taktika, ktorá sa používa na získanie vývojárov pre zle vytvorené aplikácie, a môže to fungovať.
Medzi všetkými nové prírastky na Android P vrátane nové navigačné gestá, Plátky API a nové biometrické API, existujú niektoré ďalšie zmeny, ktoré môžu mať vplyv aj jemnejším spôsobom. Jedným z nich je odstránenie dialógových okien App Not Responding (ANR) pre aplikácie v popredí. Dialógové okno ANR sa zobrazí, keď niečo bráni hlavnému vláknu používateľského rozhrania v odpovedi. Keď sa to stane v systéme Android Oreo alebo nižšom, používateľovi sa zobrazí dialógové okno ANR, aby to vedel. Teraz v systéme Android P aplikácia jednoducho spadne bez akéhokoľvek upozornenia pre používateľa.
Prečo padá aplikácia bez toho, aby ste používateľovi povedali, čo sa vlastne stalo? Nie je to nevyhnutne výhoda pre používateľov, ale núti vývojárov venovať osobitnú pozornosť určitým problémom a uistiť sa, že sa týmto problémom vyhnú. Vývojárom sa odporúča, aby nespúšťali nič vo vlákne v popredí. V zdrojovom videu prepojenom nižšie spoločnosť Google diskutuje o možných riešeniach, ako sa tomuto problému vyhnúť, vrátane
AsyncTask API. Nedávne obmedzenia Androidu týkajúce sa služieb na pozadí znamenajú, že prechod na službu tu pravdepodobne nie je skvelý nápad. Ak máte záujem dozvedieť sa viac o riešení tohto problému, odporúčame vám vypočuť si prednášku nižšie:Prístup Googlu dáva zmysel, ale je to priveľa? Môže to vyvolať dojem, že aplikácie pre Android zlyhávajú menej často, ale ak sú upozornenia pre používateľa menej viditeľné potom budú musieť vývojári dávať pozor na svoje nástroje zlyhaní, ako je hlásenie o zlyhaní Firebase, a nie na priameho používateľa spätná väzba. Ak ste vývojár v najnovšom vydaní beta verzie P, môžete tieto dialógy o zlyhaní obnoviť povolením nastavenia v Možnostiach vývojára.
Toto nie je jediná zmena v systéme Android P týkajúca sa viditeľnosti toho, čo aplikácie robia na pozadí. Android Oreo predstavil trvalé upozornenie, keď niektoré aplikácie boli spustené na pozadí ak táto aplikácia nemala upozornenie s dostatočne vysokou prioritou, ale Android P sa teraz tohto upozornenia úplne zbaví. Jediný rozdiel je v tom, že dialógové okno ANR nebolo také otravné ako umiestnenie trvalého upozornenia.
Cez: /r/AndroidDev