Android 12 is er met zijn eerste Developer Preview en veel veranderingen voor ontwikkelaars

click fraud protection

Android 12 Developer Preview 1 is er en brengt een heleboel veranderingen met zich mee waar app-ontwikkelaars op moeten letten en waar ze hun apps op kunnen aanpassen. Lees verder!

Het Android-besturingssysteem bestaat al jaren en is het dominante besturingssysteem voor mobiele apparaten geworden. Hoewel Android als platform in de loop der jaren zeker volwassener is geworden, is er altijd ruimte voor enige verbetering. En het zal nog beter worden, aangezien Google nu de eerste versie van zijn volgende upgrade uitbrengt. Androïde 12. Android 12 Developer Preview 1 is er en brengt veranderingen met zich mee die Android intuïtiever, beter presterend en veiliger maken.

Voordat we verder gaan, is er iets dat moet worden herhaald: deze Developer Preview is, zoals de naam al aangeeft, bedoeld alleen voor ontwikkelaars, zodat ze het komende besturingssysteem kunnen uitproberen en hun apps kunnen testen om zich aan te passen aan de veranderingen die zich voordoen geïntroduceerd. Dat betekent dat dit een zeer ruwe OS-release is, zoals de bedoeling is, maar Google zal deze de komende maanden oppoetsen met feedback van ontwikkelaars. Als je een gemiddelde gebruiker bent, komt de Android 12-update voor jou pas in de tweede helft van het jaar uit. Tot die tijd raden we je aan de builds niet op je telefoon te flashen en gewoon onze berichtgeving te lezen om op de hoogte te blijven van alle veranderingen die naar Android komen!

Android 12 wordt gebouwd met privacy, een betere gebruikerservaring en betere prestaties als uitgangspunt, waarbij Developer Preview 1 het volgende introduceert:

  • Vertrouwen en veiligheid
    • Modern SameSite-cookiegedrag in WebView
    • Beperkte Netlink MAC
    • Veiliger exporteren van componenten
    • Veiliger omgaan met bedoelingen
  • Betere tools voor gebruikerservaring
    • Compatibele mediatranscodering
    • AVIF-beeldondersteuning
    • Optimalisatie van de voorgrondservice
    • Rijke inhoudinvoeging
    • Haptisch gekoppeld audio-effect
    • Meerkanaalsaudio
    • Verbeteringen in de meeslepende modus voor gebarennavigatie
    • Melding UI-updates
    • Snellere en responsievere meldingen
    • Verbeterde Binder IPC-oproepen
  • App-compatibiliteit
    • Project Mainline / Google Play Systeemupdates: ART en meer
    • Optimaliseren voor tablets, opvouwbare tablets, tv's
    • Bijgewerkte lijsten met niet-SDK-interfaces
    • Gemakkelijker testen en debuggen van wijzigingen
    • Mijlpaal voor platformstabiliteit
  • Hoe te downloaden En Hoe Android 12 te installeren Ontwikkelaarvoorbeeld 1

Google hoopt gebruikers meer transparantie en controle te geven en tegelijkertijd Android-apparaten veilig te houden. Android 12 brengt nieuwe controles over ID's met zich mee die kunnen worden gebruikt voor tracking, veiligere standaardinstellingen voor app-componenten en meer.

Modern SameSite-cookiegedrag in WebView

WebView wordt bijgewerkt om het in lijn te brengen met wijzigingen in Google Chrome en andere browsers, met betrekking tot het cookiegedrag van SameSite. Dit zorgt voor extra veiligheid en privacy en geeft gebruikers meer transparantie en controle over hoe cookies op verschillende sites kunnen worden gebruikt.

Google wil dat ontwikkelaars migreren naar privacybeschermende, opnieuw instelbare ID's. Met dat doel voor ogen heeft het bedrijf meerdere releases gelanceerd om de migratie van apparaatgerichte Netlink MAC te vergemakkelijken. Android 11 beperkte de toegang tot apparaatgerichte Netlink MAC tot API-niveau 30, en in Android 12 wordt de beperking toegepast op alle apps, ongeacht het doelSDK-niveau.

Veiliger exporteren van componenten

Apps op eerdere Android-releases kunnen onbedoeld activiteiten, services en ontvangers exporteren. Google wijzigt de standaardafhandeling van de androïde; geëxporteerd attribuut explicieter te zijn in Android 12. Met Android 12 moeten componenten die een of meer intentiefilters declareren nu expliciet een androïde; geëxporteerd attribuut. Google adviseert ontwikkelaars om hun componenten in het manifest te inspecteren om installatiefouten die verband houden met de wijziging te voorkomen.

Veiliger omgaan met intenties

Android 12 vereist dat apps ook expliciet een veranderlijkheidsvlag declareren FLAG_MUTABLE of het nieuwe FLAG_IMMUTABLE, voor elke PendingIntent. Dit zou de afhandeling van PendingIntents veiliger moeten maken.


Geen enkele update is compleet zonder wat meer verbetering van de gebruikerservaring, en Android 12 is niet anders.

De meeste mobiele apparaten worden tegenwoordig geleverd met H.265/HEVC-hardwarecodering, waardoor camera-apps dat kunnen vastleggen in het HEVC-formaat, omdat het aanzienlijke verbeteringen in kwaliteit en compressie biedt ten opzichte van oudere versies codecs. De meeste apps ondersteunen HEVC, maar er zijn er nog steeds een paar die dit niet ondersteunen. Voor deze apps introduceert Google compatibele mediatranscodering met Android 12.

Met deze functie kan een app die HEVC niet ondersteunt het platform het bestand automatisch laten transcoderen naar H.264 / AVC, een formaat dat een veel bredere compatibiliteit kent. Zoals je zou verwachten, zal het transcoderingsproces enige tijd duren, afhankelijk van de video en de hardware-eigenschappen van de smartphone. Google geeft het voorbeeld van de Pixel 4 (Snapdragon 855), waarbij het ongeveer 9 seconden duurt om een ​​1 minuut durende 1080p 30fps-video te transcoderen.

Ontwikkelaars kunnen zich aanmelden voor het gebruik van de transcoderingsservice door simpelweg de mediaformaten aan te geven die hun app niet ondersteunt. Google raadt ten zeerste aan dat apps HEVC in de eerste plaats ondersteunen, maar als dat niet mogelijk is, moet de ontwikkelaar compatibele mediatranscodering inschakelen. De functie is actief op alle apparaten die het HEVC-formaat gebruiken voor video-opname.

AVIF-beeldondersteuning

Android 12 introduceert platformondersteuning voor het AV1-beeldbestandsformaat, waardoor een hogere beeldkwaliteit met efficiëntere compressie mogelijk is. AVIF is een containerformaat voor afbeeldingen en reeksen afbeeldingen gecodeerd met behulp van AV1. AVIF maakt gebruik van de intra-frame gecodeerde inhoud van videocompressie, waardoor de beeldkwaliteit bij dezelfde bestandsgrootte dramatisch wordt verbeterd in vergelijking met oudere beeldformaten zoals JPEG.

Links: AVIF (18,2 kB). Rechts: JPEG (20,7 kB). Credits: Beeldvergelijking van AVIF is geland door Jake Archibald

Optimalisaties van de voorgrondservice

Een voorgrondservice is een service die een handeling uitvoert die merkbaar is voor de gebruiker, zoals een audio-app die een audiotrack afspeelt en zo een voorgrondservice gebruikt. Deze services zijn een belangrijke manier voor apps om bepaalde soorten gebruikersgerichte taken te beheren. Maar als ze te veel worden gebruikt, kan dit de prestaties beïnvloeden en zelfs leiden tot het doden van apps.

Onder verwijzing naar verbeteringen in de gebruikerservaring blokkeert Google het starten van de voorgrondservice vanaf de achtergrond voor apps die zich op het nieuwe platform richten. En om het voor ontwikkelaars gemakkelijker te maken om van dit startpatroon af te stappen, introduceert Android 12 een nieuwe versnelde taak in JobScheduler die verhoogde procesprioriteit en netwerktoegang krijgt en onmiddellijk werkt, ongeacht stroombeperkingen zoals de batterij Spaarder of Doze. Voor back-compatibiliteit heeft Google ook versnelde taken ingebouwd in de nieuwste versie van de Jetpack WorkManager-bibliotheek. Verder vertraagt ​​Google ook de weergave van sommige servicemeldingen op de voorgrond met maximaal 10 seconden. Dit geeft kortstondige taken de kans om te voltooien voordat de meldingen ervan worden weergegeven, waardoor de afleiding voor gebruikers wordt verminderd.

Rijke inhoudsinvoeging

We zijn al lang het punt gepasseerd waarop onze communicatie via telefoons alleen nog afhankelijk was van eenvoudige spraak en tekst. De meeste communicatie is tegenwoordig onvolledig zonder bijbehorende afbeeldingen (lees: memes), video’s en andere expressieve inhoud (lees: reactie-gifs). Het invoegen en verplaatsen van deze rijke soorten inhoud binnen en tussen apps is echter niet eenvoudig.

Om het voor apps gemakkelijker te maken om rijke inhoud te ontvangen, introduceert Google een nieuwe uniforme API waarmee ze inhoud van elke bron kunnen accepteren: klembord, toetsenbord of slepen en neerzetten. Ontwikkelaars kunnen een nieuwe interface toevoegen, genaamd OnReceiveContentListener naar UI-componenten en ontvang een callback wanneer inhoud via een willekeurig mechanisme wordt ingevoegd. Deze callback wordt bijgevolg de enige plaats waar de app-code de invoeging van alles afhandelt soorten inhoud, of het nu gaat om platte tekst, opgemaakte tekst, markeringen, afbeeldingen, video- of audiobestanden, en voorbij.

Voor back-compatibiliteit heeft Google de uniforme API aan Androidx toegevoegd.

Haptisch gekoppeld audio-effect

In Android 12 kunnen apps audio-gekoppelde haptische feedback geven via de vibrator van de telefoon. Bovendien worden de trillingssterkte en -frequentie afgeleid van een audiosessie, waardoor ontwikkelaars een meer meeslepende game- en audio-ervaring kunnen creëren. Bel-apps kunnen bijvoorbeeld aangepaste beltonen gebruiken om bellers te identificeren via haptische feedback, en games kunnen ruig terrein in een racegame simuleren. Er zijn nogal wat mogelijkheden om hier te verkennen.

Meerkanaals audio

Android 12 bevat verschillende verbeteringen voor audio met ruimtelijke informatie. Het voegt ondersteuning toe voor MPEG-H afspelen in passthrough- en offload-modus. De audiomixers, resamplers en effecten zijn geoptimaliseerd voor maximaal 24 kanalen (het vorige maximum was 8 op Android 11).

Verbeteringen in de meeslepende modus voor gebarennavigatie

Android 12 brengt een verandering met zich mee die op het eerste gezicht erg belangrijk klinkt. In volledig scherm- of meeslepende app-ervaringen kunnen gebruikers met Android 12 standaard met één veegbeweging op hun telefoon navigeren. Het besturingssysteem beschermt apps nog steeds tegen onbedoelde gebaren in deze ervaringen op volledig scherm. We zullen de Developer Preview in handen krijgen om erachter te komen wat er precies is veranderd, aangezien de bewoording niet volledig recht doet aan de verandering.

Melding UI-updates

Zoals je misschien al hebt gezien in de gelekte Android 12-screenshots, zullen meldingen een kleine update krijgen om ze moderner, gebruiksvriendelijker en functioneler te maken. Google vermeldt dat er wijzigingen zijn van de lade en de bedieningselementen naar de sjablonen zelf. Overgangen en animaties worden ook geoptimaliseerd om ze vloeiender te maken. Apps die Android 12 targeten, hebben ook toegang tot meldingen met aangepaste inhoud met pictogram en andere wijzigingen die overeenkomen met alle andere meldingen. We zullen de veranderingen in onze praktijk onder de loep nemen.

Snellere en responsievere meldingen

Meldingen moeten een duidelijk en snel pad bieden om een ​​bepaald gedeelte binnen een app te bereiken. Om die reden moeten ontwikkelaars ervoor zorgen dat tikken op meldingen de activiteit direct starten, in plaats van een tussenliggende uitzendingsontvanger of -dienst om de activiteit te starten (een aanpak die Google Notificatie noemt). trampoline). Melding Trampolines kunnen aanzienlijke vertragingen veroorzaken en de gebruikerservaring beïnvloeden, en dus ook Android 12 zal deze kennisgevingstrampolines blokkeren door te voorkomen dat ze hun doelwit lanceren Activiteiten. Google vraagt ​​ontwikkelaars om van een dergelijke praktijk af te stappen. Deze wijziging geldt alleen voor apps die zich op het nieuwe platform richten, maar voor alle apps zal Google een toost uitbrengen om trampolines zichtbaar te maken voor de ontwikkelaar en voor gebruikers.

Verbeterde Binder IPC-oproepen

Google heeft zich gericht op het verminderen van de systeemvariabiliteit door optimalisaties aan te brengen in de latentie en de verdeling van de werklast, waardoor de gemiddelde ervaring voor 99% van de percentielgebruiksgevallen wordt verminderd. Dit heeft geresulteerd in verbeteringen aan de aanroepen van systeembinders, het toevoegen van lichtgewicht cachingstrategieën en de focus op het verwijderen van lock-conflicten om de latentiedistributie te verbeteren. Google beweert dat dit in het algemeen een prestatieverbetering van ongeveer twee keer heeft opgeleverd bij Binder-oproepen, met aanzienlijke verbeteringen in specifieke oproepen, zoals refContentProvider() (47x verbetering), laatWakeLock() vrij (15x verbetering), en JobScheduler.schema() (7,9x verbetering).


App-compatibiliteit in Android 12

In dit gedeelte praat Google over het sneller en soepeler maken van updates voor zowel ontwikkelaars als gebruikers. App-gerichte wijzigingen worden opt-in doorgevoerd om ontwikkelaars meer tijd te geven om zich aan te passen aan het nieuwe platform.

Project Mainline / Google Play Systeemupdates: ART en meer

Als dat hebben we vorig jaar zelf ontdekt, zet Google ART om in een Project Mainline-module. Hierdoor kan Google de runtimeprestaties en correctheid verbeteren, de geheugenkern efficiënter beheren en Kotlin-bewerkingen sneller maken - en dat alles zonder dat een volledige systeemupdate nodig is.

Verder worden sommige van de in dit nieuwsbericht genoemde functies ook geleverd via Project Mainline. De naadloze transcoderingsfunctie wordt bijvoorbeeld geleverd via een updatebare module, wat aangeeft dat dit heel goed de toekomst voor Android zou kunnen zijn.

Optimalisatie voor tablets, opvouwbare apparaten en tv's

Google brengt ook de eerste Android 12 preview voor Android TV uit. Hiermee krijg je niet alleen de nieuwste Android-functies op de tv, maar kun je ook testen met de nieuwe Google-TV ervaring.

Bijgewerkte lijsten met niet-SDK-interfaces

Met deze release heeft Google dat gedaan beperkte aanvullende niet-SDK-interfaces.

Gemakkelijker testen en debuggen van wijzigingen

Google is geïntroduceerd met Android 11 en maakt het eenvoudiger testen en debuggen van wijzigingen mogelijk via opt-in-schakelaars voor wijzigingen die afzonderlijk worden gepresenteerd vanuit Developer Options of via ADB.

Mijlpaal voor platformstabiliteit

Net als vorig jaar is Google van plan om voor deze release de Platform Stability-mijlpaal te bereiken, zodat ontwikkelaars concreet kunnen worden kennis over de uiteindelijke SDK/NDK API's en alle uiteindelijke interne API's en app-gericht systeemgedrag dat ze nodig hebben om hun app voor. Google verwacht in augustus 2021 Android 12 Platform Stability te bereiken.


Download en installeer Android 12 Developer Preview 1

Dat kan gemakkelijk download de nieuwste Android 12 Developer Preview via de links in ons speciale artikel, dat ook voor toekomstige releases zal worden bijgewerkt met downloadlinks.

Google brengt deze preview-update voor ontwikkelaars officieel uit voor:

  • Pixel5
  • Pixel 4a 5G
  • Pixel 4a
  • Pixel4
  • Pixel4XL
  • Pixel 3a
  • Pixel 3a XL
  • Pixel3
  • Pixel3XL

Verder hebben wij installatie-instructies beschikbaar voor Android 12 Developer Preview 1 voor veelgebruikte installatieroutes zoals Recovery, ADB en Fastboot voor de bovengenoemde Pixel-apparaten, en via een GSI voor alle andere Project Treble-compatibele apparaten.