Geliştiriciler için Android 7.0

Android 7.0 Nougat, çok çeşitli kullanıcılar ve geliştiriciler için yeni özellikler ve olanaklar. Bu dokümanda, geliştiriciler için sunulan yenilikler vurgulanmaktadır.

Şu bölüme mutlaka göz atın: Android 7.0 davranış değişiklikleri uygulamalarınızı etkileyebilir.

Android 7.0'ın tüketici özellikleri hakkında daha fazla bilgi edinmek için www.android.com adresini ziyaret edin.

Çoklu Pencere Desteği

Android 7.0'da, çok istenen yeni bir çoklu görev özelliğini platforma ekliyoruz: çoklu pencere desteği.

Kullanıcılar artık aynı anda iki uygulamayı ekranda açabilir.

  • Telefonlarda ve tabletlerde Android 7.0 sürümünü çalıştıran kullanıcılar iki uygulamayı yan yana veya Bölünmüş ekran modunda bir diğerinin üstünde. Kullanıcılar sürükleyerek uygulamaları yeniden boyutlandırabilirler belirler.
  • Android TV cihazlarda uygulamalar kendilerini pencere içinde pencere moduna alabilir. mod, kullanıcı göz atarken veya web'e göz atarken içerik göstermeye devam etmesini sağlar. Kullanıcı diğer uygulamalarla etkileşime girer.
Mobil cihazlarda bölünmüş ekran modunda çalışan uygulamalar

Şekil 1. Bölünmüş ekran modunda çalışan uygulamalar.

Özellikle tabletlerde ve daha geniş ekranlı diğer cihazlarda çoklu pencere desteği kullanıcılarla etkileşimde bulunmanın yeni yollarını sunuyor. İsterseniz sürükle ve bırak işlevini de etkinleştirebilirsiniz kullanıcıların uygulamanızı kullanarak kolayca içerik sürüklemesine olanak sağlar. bir yolunu sunuyor.

Uygulamanıza çoklu pencere desteği eklemek ve çoklu pencere ekranını nasıl işleyeceğini yapılandırmak kolaydır. Örneğin, etkinliğinizin izin verilen minimum boyutlarını belirterek kullanıcıların etkinliği bu boyutun altına yeniden boyutlandırmasını engelleyebilirsiniz. Ayrıca, birden fazla pencereli görüntülemeyi uygulamanız için devre dışı bırakabilirsiniz. sistemin, uygulamanızı yalnızca tam ekran modunda göstermesini sağlar.

Daha fazla bilgi için Çoklu Pencere Desteği sayfasını inceleyin. geliştirici belgelerine göz atın.

Bildirim Geliştirmeleri

Android 7.0'da bildirimleri daha kolay ve daha hızlı kullanılacak şekilde yeniden tasarladık. Değişikliklerden bazıları şunlardır:

  • Şablon güncellemeleri: Bildirim şablonlarını, lokomotif resmi ve avatara yeni bir vurgu yapacak şekilde güncelliyoruz. Geliştiriciler şunları yapabilecekler: kodlarında en az düzenlemeyle yeni şablonlardan yararlanmalarına olanak tanır.
  • Mesajlaşma stili özelleştirme: Mesajlaşma aracında daha fazla MessagingStyle sınıf. Mesajı, içerik görünümü bulunur.
  • Gruplandırılmış bildirimler: Sistem, mesajları gruplayabilir. (örneğin, ileti konusuna göre) ve grubu görüntüleyebilir. Bir kullanıcı Reddet veya Arşivle gibi işlemler yapabilir. AdSense hakkında zaten bilgi sahibi olduğunuz bir bu modeli kullanıyoruz.
  • Doğrudan yanıt: Gerçek zamanlı iletişim uygulamaları için Android sistemi, kullanıcıların hızlıca yanıt verebilmesi için satır içi yanıtları destekler. bir SMS veya kısa mesaj gönderebilirsiniz.
  • Özel görünümler: İki yeni API, bildirimlerde özel görünümler kullanırken bildirim başlıkları ve işlemleri gibi sistem süslemelerinden yararlanmanıza olanak tanır.
Gruplandırılmış mesaj bildirimlerini gösteren mobil cihaz
Tek mesaj bildirimi gösteren mobil cihaz
Bildirim arayüzünde satır içi mesaj yanıtını gösteren mobil cihaz

Şekil 2. Gruplandırılmış bildirimler ve doğrudan yanıt.

Yeni özellikleri nasıl uygulayacağınızı öğrenmek için Bildirimler rehberini inceleyin.

Profil rehberliğinde JIT/AOT Derlemesi

Android 7.0'a kod içeren bir Just in Time (JIT) derleyicisi ekledik sürekli iyileştirmesini sağlayan, bu sayede Android uygulamaları çalışır. JIT derleyicisi, ART'ın mevcut Ahead of Time (AOT) derleyicisi sayesinde çalışma zamanı performansını iyileştirebilir, depolama alanına sahip olmak ve uygulama güncellemelerini ve sistem güncellemelerini hızlandırmaktır.

Profil rehberliğinde derleme, ART'ın AOT/JIT derlemesini yönetmesine olanak tanır. gerçek kullanımına ve cihaz koşullarına göre her uygulama için takip eder. Örneğin, ART, her uygulamanın sık kullanılan yöntemlerini içeren bir profil tutar ve ve en iyi performans için bu yöntemleri önceden derleyip önbelleğe alır. Diğer kısımlarında uygulamanın derlenmeden korunmasını sağlayın.

Profil rehberliğinde, uygulamanın önemli kısımları için performansı artırmanın yanı sıra derlemesi, ilişkilendirilmiş uygulamalar da dahil olmak üzere uygulamanın toplam RAM ayak izini azaltmaya yardımcı olur. her zaman daha iyidir. Bu özellik özellikle düşük bellekli cihazlarda önemlidir.

ART, profil yönlendirmeli derlemeyi cihaz pili üzerindeki etkiyi en aza indirecek şekilde yönetir. Önceden derleme işlemini yalnızca cihaz boştayken ve şarj, daha az zaman ve pil tasarrufu sağlıyor.

Uygulama Yüklemesine Giden Hızlı Yol

ART'ın JIT derleyicisinin en somut avantajlarından biri uygulama hızıdır yükleme sayısını ve sistem güncellemelerini kullanabilirsiniz. Sadece birkaç dakikanızı alan büyük uygulamalarda bile Android 6.0'da optimize etme ve yükleme artık sadece birkaç saniye. Başka bir optimizasyon adımı olmadığından sistem güncellemeleri de daha hızlı gerçekleştirilir.

Hareket Halinde Dozunda Olun...

Android 6.0'da Doze, erteleyerek pil tasarrufu sağlayan bir sistem modu. uygulamaların Cihaz boşta kaldığında (ör. boşta kaldığında) CPU ve ağ etkinlikleri çekmeceleri tasarlarlar.

Doze, artık Android 7.0'da bir adım daha ileri gidiyor ve yoldayken pil tasarrufu sağlıyor. Ekran bir süre kapalı kaldığında ve cihaz fişe takılı değilken Doz, bilinen CPU ve ağ kısıtlamalarının bir alt kümesini uygulamalara uygular. Bu, kullanıcıların cihazlarını arabalarında taşırken bile pil tasarrufu yapabileceği anlamına gelir. ceketler.

Doz'un, pil ömrünü uzatmak için ilk düzey sistem etkinliği kısıtlamalarını nasıl uyguladığını gösteren resim

Şekil 3. Doz şimdi uygulanıyor kısıtlamalara tabi olup cihaz sabit değilken bile pil ömrünü uzatır.

Cihaz pil takılıyken ekran kapandıktan kısa bir süre sonra, Doz ağ erişimini kısıtlayıp işleri ve senkronizasyonları erteler. Kısa bakım sırasında uygulamaların ağ erişimine izin verildiği ve yürütülür. Ekranı açmak veya cihazı takmak şu anda Doz'dan çıkarıldı.

Cihaz tekrar sabit durumdayken, ekran kapalı ve pili açık bir şekilde bir süre Doze; PowerManager.WakeLock, AlarmManager alarm ve GPS/kablosuz ağ taramaları.

Uygulamanızı Doz'a uyarlamaya yönelik en iyi uygulamalar, cihazınız hareket ediyor veya yürümüyor. Bu nedenle, uygulamanızı sorunsuz bir şekilde Doz'u halledeceksiniz, hazırsınız. Aksi takdirde, uygulamanızı Doze'a uyarlamaya hemen başlayın.

Svelte Projesi: Arka Plan Optimizasyonları

Project Svelte, sistem ve uygulamaların RAM kullanımını en aza indirmek için sürekli olarak sürdürülen bir çalışmadır ekosistemdeki tüm Android cihazlarda bir araya geliyor. Android 7.0'da Project Svelte, uygulamaların arka planda çalışma şeklini optimize etmeye odaklanır.

Arka planda işleme, çoğu uygulamanın önemli bir parçasıdır. Doğru şekilde ele alındığında anlık, hızlı ve bağlama duyarlı, harika bir kullanıcı deneyimi sunar. Doğru kullanılmadığında, arka planda işleme gereksiz yere RAM tüketebilir (ve pil) ve diğer uygulamaların sistem performansını etkiler.

Android 5.0'dan bu yana JobScheduler verimli bir şekilde çalışmanın bir platformdur. Uygulamalar, sistemin bellek, güç ve bağlantı koşullarına göre optimizasyon yapmasına izin verirken işleri planlayabilir. Job Scheduler, kontrol ve basitlik ve tüm uygulamaların bunu kullanmasını istiyoruz.

Diğer bir iyi seçenek de Google Play Hizmetleri'nin bir parçası olan GCMNetworkManager şunun eski sürümleriyle uyumlulukla benzer bir iş planlaması sunar: Android

JobScheduler ve GCMNetworkManager'yi daha fazla kullanım alanıyla uyumlu hale getirmek için geliştirmeye devam ediyoruz. Örneğin, Android 7.0'da artık arka planda çalışmayı içerik sağlayıcılardaki değişikliklere göre planlayabilirsiniz. Aynı zamanda, sistem performansını azaltabilecek eski kalıplardan bazılarını kullanımdan kaldırın, özellikle düşük bellekli cihazlarda.

Android 7.0'da yaygın olarak kullanılan üç örtülü yayını kaldırıyoruz: CONNECTIVITY_ACTION, ACTION_NEW_PICTURE ve ACTION_NEW_VIDEO (bunlar aynı anda birkaç uygulamanın arka planda işlenmesine yol açarak bellek ve pili tüketir. Eğer uygulamanız bunları alıyorsa, bunu yapmak için bunun yerine JobScheduler ve ilgili API'lere geçebilirsiniz.

Daha fazla bilgi için Optimizasyonlar belgelerinde bulabilirsiniz.

SurfaceView

Android 7.0 ile SurfaceView eşzamanlı hareket ediyor sınıfını kullanarak daha iyi bir pil performansı bazı durumlarda: TextureView video oluştururken veya 3D içerik, kaydırma ve animasyonlu video konumu içeren uygulamalar TextureView ile kıyaslandığında SurfaceView oranında.

SurfaceView sınıfı, uygulama penceresi içeriğinden ayrı olarak özel donanımda birleştirildiği için ekranda daha pil tasarruflu birleştirme sağlar. Sonuç olarak, daha az ara hedef TextureView kopyadan daha fazla.

SurfaceView nesnesinin içerik konumu artık eşzamanlı olarak güncelleniyor en iyi uygulamaları paylaşacağız. Bu değişikliğin bir sonucu, SurfaceView dilinde oynatılan bir videonun çevirileri veya ölçekleri görünüm hareket ederken artık yanında siyah çubuklar oluşturmaz.

Android 7.0'dan itibaren, Android 7.0'dan başlayarak güç tasarrufu için TextureView yerine SurfaceView.

Veri Tasarrufu

Ayarlar'da Veri Tasarrufu

4.Şekil Veri Tasarrufu'na gidin.

Bir mobil cihazın kullanım ömrü boyunca, genellikle hücresel veri planının maliyeti cihazın kendi maliyetini aşıyor. Birçok kullanıcı için hücresel veri, tasarruf etmek istedikleri pahalı bir kaynaktır.

Android 7.0, veri kullanımını azaltmanıza yardımcı olan yeni bir sistem hizmeti olan Veri Tasarrufu modunu kullanıma sunuyor. Faturalandırma döneminin sonuna doğru, dolaşımdayken uygulamaların hücresel veri kullanımı küçük bir ön ödemeli veri paketi kullanarak veri alışverişi yapabilirsiniz. Veri Tasarrufu sayesinde kullanıcılar, uygulamalar üzerinde kontrol sahibi mobil veri kullanır ve geliştiricilerin, Veri analisti kullanıldığında daha verimli hizmet Tasarruf açık.

Kullanıcı Ayarlar'da Veri Tasarrufu'nu etkinleştirdiğinde ve cihaz şu anda sayaçlı ağda sistem, arka plan veri kullanımını engeller ve uygulamaları mümkün olduğunda ön planda daha az veri kullanma (örneğin, akış için bit hızı, görüntü kalitesini düşürme, iyimser önceden önbelleğe almayı erteleme, vb. Kullanıcılar, belirli uygulamaların arka planda ölçülen verilere izin vermesine izin verebilir kullanmaya devam etmesini sağlar.

Android 7.0, ConnectivityManager kapsamını genişleterek uygulamalara almanın bir yolunu bulmak için kullanıcının Veri Tasarrufu tercihlerini ve izleyiciyi tercih değişiklikleri. Tüm uygulamalar, kullanıcının Veri'yi etkinleştirip etkinleştirmediğini kontrol etmelidir Ön ve arka plan veri kullanımını sınırlamaya çalışın.

Vulkan API'sı

Android 7.0, yeni bir 3D oluşturma API'si olan Vulkan™'ı platforma entegre eder. Beğenme OpenGLTM Vulkan, 3D grafik ve oluşturma için açık bir standarttır (Kronos Group tarafından).

Vulkan, baştan sona sürücüdeki ek CPU yükünü en aza indirecek şekilde tasarlanmıştır. ve uygulamanızın GPU işlemini daha doğrudan kontrol etmesini sağlar. Vulkan Dili aynı zamanda birden fazla iş parçacığının çalışmasına olanak tanıyarak başka işlemler de yapabilirsiniz.

Vulkan geliştirme araçları ve kitaplıkları, Android 7.0 SDK'sında kullanıma sunuldu. Bunlar arasında şunlar yer alır:

  • Üstbilgiler
  • Doğrulama katmanları (hata ayıklama kitaplıkları)
  • SPIR-V gölgelendirici derleyicisi
  • SPIR-V çalışma zamanı gölgelendirici derleme kitaplığı

Vulkan yalnızca Vulkan özellikli donanıma sahip cihazlardaki uygulamalarda kullanılabilir. tam ekran görüntüsü alın. Özel mühendisliğimizle iş ortaklarımızın Vulkan'ı daha fazla cihaza en kısa sürede taşımalarını sağlamak istiyoruz.

Daha fazla bilgi için API dokümanlarını inceleyin.

Hızlı Ayar Parçası API'sı

Bildirim gölgesindeki Hızlı Ayar kartları

5. Şekil. Bildirim gölgesindeki Hızlı Ayar blokları.

Hızlı Ayarlar, temel ayarları ve işlemleri göstermenin popüler ve basit bir yoludur. bildirim gölgesinden alır. Android 7.0'da Hızlı Ayarlar'ı kullanarak daha kullanışlı ve pratik hale getirin.

Kullanıcıların sayfalandırılmış bir ekran alanında sola veya sağa kaydırarak erişebileceği ek Hızlı Ayarlar kartları için daha fazla alan ekledik. Ayrıca, kullanıcılara hangi Hızlı Ayarlar kartlarının gösterileceği ve nerede gösterileceği konusunda kontrol verdik. Kullanıcılar, kartları sürükleyip bırakarak kart ekleyebilir veya taşıyabilir.

Geliştiriciler için Android 7.0, kendi API'nizi tanımlamanıza olanak tanıyan yeni bir API de ekler. Kullanıcıların uygulamanızdaki tuş kontrollerine ve işlemlere kolayca erişmesini sağlayan Hızlı Ayar kutuları.

Hızlı Ayar kutuları, acilen gerekli olduğu veya sık kullanıldığı düşünülebilir; bir uygulamadır.

Kartlarınızı tanımladıktan sonra, bunları kullanıcılara sunabilirsiniz. bunları Hızlı Ayarlar'a sürükleyip bırakabilirsiniz.

Uygulama kutusu oluşturma hakkında bilgi edinmek için referans belgelerine bakın Tile için.

Numara Engelleme

Android 7.0 artık platformda numara engellemeyi desteklemektedir ve çerçeve API'sini kullanıma sunduk. Varsayılan SMS uygulaması, varsayılan telefon uygulaması ve operatör uygulamaları, engellenen numara listesini okuyabilir ve bu listeye yazabilir. Diğer uygulamalar bu listeye erişemez.

Numara engelleme özelliğini platformun standart bir özelliği haline getiren Android, uygulamaların, çok çeşitli gruplarda numara engellemeyi desteklemesi için tutarlı bir yöntem cihazlar. Uygulamaların yararlanabileceği diğer avantajlar arasında şunlar yer alır:

  • Aramalarda engellenen numaralar, kısa mesajlarda da engellenir.
  • Engellenen numaralar, yedekleme ve yedekleme aracılığıyla sıfırlamalarda ve cihazlarda devam edebilir. Özelliği geri yükle
  • Aynı engellenen numaralar listesini birden çok uygulama kullanabilir

Ayrıca, Android üzerinden operatör uygulaması entegrasyonu, operatörlerin cihazdaki engellenen numaralar listesini okuyabilir ve hizmet tarafı engelleme gerçekleştirebilir. İstenmeyen aramaların ve kısa mesajların kullanıcıya ulaşmasını önlemek için kullanıcı için herhangi bir aracı üzerinden (ör. VOIP uç noktası veya yönlendirme telefonları)

Daha fazla bilgi için şu referans belgelerine bakın: BlockedNumberContract

Arama Süzme

Android 7.0, varsayılan telefon uygulamasının gelen aramaları filtrelemesine izin verir. Telefon uygulaması bunu yeni CallScreeningService uygulayarak yapar. Bu, telefon uygulamasının temel alınarak bir dizi işlem gelen aramanın Call.Details. Örneğin:

  • Gelen aramayı reddet
  • Çağrı kaydına yapılan çağrıya izin verme
  • Kullanıcıya arama için bildirim gösterme

Daha fazla bilgi için şu referans belgelerine bakın: CallScreeningService

Çoklu Yerel Destek, Daha Fazla Dil

Android 7.0 artık kullanıcıların birden fazla yerel ayarı Ayarlar, kullanım alanlarını daha iyi desteklemek konusunda size yardımcı olabilirler. Uygulamalar, kullanıcının seçtiği yerel ayarları almak ve ardından daha gelişmiş özellikler sunmak için yeni bir API birden fazla yerel ayara sahip kullanıcılar için kullanıcı deneyimleri (ör. arama sonuçlarını birden fazla dile çevirebilmek ve belirli bir dildeki web sayfalarını bilgi sahibi olması gerekir.

Android 7.0, çoklu yerel ayar desteğinin yanı sıra kullanıcıların kullanabileceği dil yelpazesini de genişletir. Her biri yaygın olarak kullanılan 25'ten fazla varyant sunar Fransızca ve Arapça gibi dilleri ifade eder. Ayrıca, 100'den fazla yeni dil desteği sunar.

Uygulamalar, kullanıcının ayarladığı yerel ayarların listesini LocaleList.GetDefault() Artan yerel ayarı desteklemek için Android 7.0 kaynakları çözme yolunu değiştirmekte fayda vardır. Uygulamalarınızı test edip doğruladığınızdan emin olun ve yeni kaynak çözümleme mantığıyla beklendiği gibi çalışır.

Kaynak çözümlemeyle ilgili yeni davranışı ve öğrendiğiniz en iyi uygulamaları öğrenmek için Çok Dilli Destek bölümüne bakın.

Yeni Emoji'ler

Android 7.0 ek emojiler ve emojilerle ilgili özellikler sunar. Örneğin: ten rengi emojileri ve çeşitlilik desteği seçiciler. Uygulamanız emojileri destekliyorsa emojilerle ilgili bu özelliklerden yararlanmak için aşağıdaki yönergeleri uygulayın.

  • Cihazı yerleştirmeden önce emoji içerip içermediğini kontrol edin. Android cihazınızda hangi emojilerin sistem yazı tipi için hasGlyph(String) yöntemini kullanın.
  • Emojilerin, varyasyon seçicileri destekleyip desteklemediğini kontrol edin. Varyasyon seçiciler şunları yapmanıza olanak tanır: Belirli emojileri renkli veya siyah beyaz olarak sunma. Mobil cihazlarda, uygulamalar emojileri siyah beyaz yerine renkli olarak temsil etmelidir. Ancak, Uygulamanız emoji'leri metinle satır içinde görüntülüyorsa siyah beyaz varyasyonu kullanmalıdır. Bir emojide varyasyon olup olmadığını belirlemek için varyasyon seçiciyi kullanın. Varyasyonları olan karakterlerin tam listesi için varyasyonlarla ilgili Unicode dokümanının emoji varyasyonu sıralamaları bölümünü inceleyin.
  • Emojinin ten rengini destekleyip desteklemediğini kontrol edin. Android 7.0, kullanıcıların emojilerin tercihlerine göre oluşturulmuş ten rengine sahiptir. Klavye uygulamaları, birden fazla cilt tonu olan emojiler için görsel göstergeler sunmalı ve kullanıcıların tercih ettikleri cilt tonunu seçmelerine olanak tanımalıdır. Hangi sistem emojilerinde ten rengi değiştiricileri için hasGlyph(String) yöntemidir. Hangi emojilerin ten renklerini kullandığını öğrenmek için Unicode belgelerine bakın.

Android'de ICU4J API'leri

Android 7.0 artık Android çerçevesinde ICU4J API'lerinin bir alt kümesini android.icu paketi. Taşıma süreci kolaydır ve genellikle com.java.icu ad alanından değiştirerek android.icu. Cihazınızda halihazırda bir ICU4J paketi kullanıyorsanız Android'de sağlanan android.icu API'lerine geçiş yaparak çerçevesini kullanan APK boyutundan önemli tasarruflar sağlayabilir.

Android ICU4J API'leri hakkında daha fazla bilgi edinmek için ICU4J Desteği sayfasını inceleyin.

Web Görünümü

Chrome + Web Görünümü Birlikte

Android 7.0 ve sonraki sürümleri çalıştıran Chrome sürüm 51'den başlayarak cihazınızdaki Chrome APK'sı Android Sistem Web Görünümleri'ni sağlamak ve oluşturmak için kullanılır. Bu yaklaşım, hafızayı kullanımı ve ayrıca erişimi kaybetmemek için gereken bant genişliğini WebView güncel (bağımsız WebView APK'sı artık güncellenmeyeceği için) (Chrome etkin kaldığı sürece).

Geliştirici Seçenekleri'ni etkinleştirip Web Görünümü kullanımı'nı seçerek Web Görünümü sağlayıcınızı belirleyebilirsiniz. Uyumlu olan tüm cihazları kullanabilirsiniz Cihazınızda veya WebView uygulaması işlevi görecek bağımsız Web Görünümü APK'sı.

Çoklu işlem

WebView, Android 7.0'da Chrome 51 sürümünden itibaren web içeriğini geliştirici seçeneği "Çoklu İşlem Web Görünümü" olduğunda, korumalı alana alınmış ayrı bir işlem etkin olduğundan emin olun.

N sürümü için uyumluluk ve çalışma zamanı performansı hakkında geri bildirim istiyoruz . Bu sürümde, başlangıç süresinde, toplam bellek kullanımında ve yazılım oluşturma performansında gerileme yaşanması beklenir.

Çoklu işlem modunda beklenmedik sorunlarla karşılaşırsanız bize bildirin. oluşturabilirsiniz. Lütfen Chromium hata izleyici üzerinden WebView ekibiyle iletişime geçin.

Sayfa yüklenmeden önce JavaScript çalıştırma

Android 7.0'ı hedefleyen uygulamalardan başlayarak JavaScript bağlamı sıfırlanacak yeni bir sayfa yüklendiğinde görünür. Şu anda bağlam, yeni bir WebView örneğinde yüklenen ilk sayfaya aktarılır.

WebView'e JavaScript yerleştirmek isteyen geliştiriciler, komut dosyasını sayfa yüklenmeye başladıktan sonra yürütmelidir.

Güvenli olmayan kaynaklarda coğrafi konum

Android 7.0'ı hedefleyen uygulamalardan itibaren, coğrafi konum API'sine yalnızca güvenli kaynaklarda (HTTPS üzerinden) izin verilecektir. Bu politika, korumayı ve Güvenli olmayan bir bağlantı kullanırken kullanıcıların özel bilgileri.

WebView Beta ile test etme

WebView düzenli olarak güncellendiğinden uyumluluğu test etmenizi öneririz WebView'un beta kanalını kullanarak sık sık uygulamanızla etkileşime geçin. Test etmeye başlamak için sürümleri için WebView'un Android 7.0'da yayın öncesi sürümlerini WebView uygulaması olarak seçmek için Chrome Dev veya Chrome Beta sürümünü seçin. geliştirici seçeneklerini belirleyin. Lütfen sorunları Chromium aracılığıyla bildirin hata izleyici ekleyebilirsiniz. Böylece, WebView'un yeni bir sürümü kullanıma sunulmadan önce yayınlandı.

OpenGLTM ES 3.2 API'sı

Android 7.0, OpenGL ES 3.2 için aşağıdakiler de dahil olmak üzere çerçeve arayüzleri ve platform desteği ekler:

  • EXT_texture_sRGB_decode hariç Android Uzantı Paketi (AEP).
  • HDR ve ertelenmiş gölgelendirme için kayan nokta çerçeve arabellekleri.
  • BaseVertex, daha iyi toplu işlem ve akış sağlamak için çağrı çeker.
  • WebGL ek yükünü azaltmak için güçlü arabellek erişim denetimi.

Android 7.0'daki OpenGL ES 3.2 çerçeve API'si GLES32 sınıf. OpenGL ES 3.2 kullanırken gereksinimini ayarlamak için <uses-feature> etiketini ve android:glEsVersion özelliği.

Aşağıdakiler de dahil olmak üzere OpenGL ES'yi kullanma hakkında bilgi için: desteklenen OpenGL ES sürümü için OpenGL ES API kılavuzuna bakın.

Android TV Kaydı

Android 7.0, Android TV girişinden içerik kaydetme ve oynatma özelliğini ekler. yeni kayıt API'leri aracılığıyla edinilebilir. Mevcut zaman kaydırma API'lerini temel alan TV giriş hizmetleri, hangi kanal verilerinin kaydedilebileceğini, kaydedilen oturumların nasıl kaydedileceğini kontrol edebilir ve kullanıcıların kaydedilen içerikle etkileşimini yönetebilir.

Daha fazla bilgi edinmek için Android TV Kayıt API'ları bölümüne bakın.

Android for Work

Android for Work, Android 7.0 çalıştıran cihazlar için birçok yeni özellik ve API ekler. Aşağıda bazı öne çıkan özellikler verilmiştir. Özelliklerin tam listesi için Android Enterprise özellik listesine göz atın.

İş profili güvenlik sorgulaması

N SDK'sını hedefleyen profil sahipleri, iş profilinde çalışan uygulamalar için ayrı bir güvenlik sorgusu belirtebilir. Kullanıcı bir web sitesini açmayı denediğinde iş sorgulaması gösterilir. iş uygulamaları. Güvenlik sorgulaması başarıyla tamamlandığında, ve gerekirse şifresini çözer. Profil sahipleri için: ACTION_SET_NEW_PASSWORD, kullanıcıdan bir iş ayarlamasını ister meydan okuma ve ACTION_SET_NEW_PARENT_PROFILE_PASSWORD istem kullanıcının cihaz kilidi ayarlamasına izin verin.

Profil sahipleri, setPasswordQuality(), setPasswordMinimumLength() ve ilgili yöntemleri kullanarak iş isteği için farklı şifre kodu politikaları (ör. PIN'in uzunluğu veya profilin kilidini açmak için parmak izinin kullanılıp kullanılamayacağı) belirleyebilir. Profil cihazın sahibi, DevicePolicyManager kullanarak da cihaz kilidini ayarlayabilir yeni getParentProfileInstance() yöntemi tarafından döndürülen örneğe uygulanır. Ayrıca, profil sahipleri yeni setOrganizationColor() ve setOrganizationName() yöntem.

İş modunu devre dışı bırakın

İş profili olan bir cihazda kullanıcılar iş modunu açıp kapatabilir. Çalışma modu şu olduğunda: Yönetilen kullanıcı geçici olarak kapatılır ve bu durumda iş profili devre dışı bırakılır uygulamalar, arka plan senkronizasyonu ve bildirimler. Profil sahibi de buna dahildir kabul edersiniz. Çalışma modu kapalıyken sistemde kalıcı durum gösterilir kullanıcıya iş uygulamalarını başlatamayacağını hatırlatan bir simge. Başlatıcı iş uygulamalarının ve widget'larının erişilebilir olmadığını belirtir.

Her Zaman Açık VPN

Cihaz sahipleri ve profil sahipleri, iş uygulamalarının her zaman bağlanmasını sağlayabilir belirli bir VPN üzerinden. Sistem, olduğundan emin olun.

Yeni DevicePolicyManager yöntemleri setAlwaysOnVpnPackage() ve getAlwaysOnVpnPackage()'dir.

VPN hizmetleri uygulama olmadan doğrudan sisteme bağlanabildiğinden etkileşiminde, VPN istemcilerinin Her Zaman Açık VPN için yeni giriş noktalarını işlemesi gerekir. Daha önce olduğu gibi, hizmetler android.net.VpnService işlemiyle eşleşen bir intent filtresi aracılığıyla sisteme bildirilir.

Kullanıcılar ayrıca VPNService yöntem kullanılıyor Ayarlar > Diğer > VPN. Her Zaman Açık VPN'i etkinleştirme seçeneği yalnızca VPN istemcisi API düzeyi 24'ü hedefliyorsa kullanılabilir.

Özelleştirilmiş temel hazırlık

Uygulamalar, profil sahibi ve cihaz sahibi temel hazırlığı akışlarını kurumsal renk ve logolarla özelleştirebilir. DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR özelleştirme akış rengi. DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI. kurumsal bir logoyla akışı özelleştiriyor.

Erişilebilirlik Geliştirmeleri

Android 7.0 yeni sürümler için artık doğrudan Karşılama ekranında Görüş Ayarları'nı cihaz kurulumu. Bu sayede kullanıcılar, büyütme hareketi, yazı tipi boyutu, ekran boyutu ve TalkBack gibi erişilebilirlik özelliklerini cihazlarında keşfedip yapılandırabilir.

Bu erişilebilirlik özelliklerinin daha belirgin konumlara yerleştirilmesiyle, kullanıcılarınız bunları etkinleştirerek uygulamanızı deneme olasılığı daha yüksek. Uygulamalarınızı test ettiğinizden emin olun erken erişimlerini artırabilirsiniz. Ayarlar > Erişilebilirlik.

Ayrıca Android 7.0'da erişilebilirlik hizmetleri artık motorlu taşıt kullanıcıları için engelleri var. Yeni API, ve kontrol panelleri gibi özellikleri kullanarak bu kullanıcıların ihtiyaçlarını karşılayabilir.

Daha fazla bilgi için şu referans belgelerine bakın: GestureDescription

Doğrudan Başlatma

Doğrudan başlatma, cihazın başlatma sürelerini iyileştirir ve kayıtlı uygulamaların beklenmedik bir yeniden başlatma sonrasında bile sınırlı işlevlere sahip olmasını sağlar. Örneğin, şifrelenmiş bir cihaz kullanıcı uyurken yeniden başlatılırsa kayıtlı alarmlar, mesajlar ve gelen aramalar artık bildirimde bulunmaya devam edebilir bir deneyim sunar. Bu aynı zamanda erişilebilirlik hizmetlerinin yeniden başlatıldıktan hemen sonra kullanılabilir.

Doğrudan önyükleme, hem sistem hem de uygulama verileri için ayrıntılı şifreleme politikaları etkinleştirmek amacıyla Android 7.0'daki dosya tabanlı şifrelemeden yararlanır. Sistem, belirli sistem verileri için ve açık bir şekilde satın alınan kayıtlı uygulama verileri. Varsayılan olarak diğer sistem verileri, kullanıcı verileri, uygulamalar ve uygulama verileri.

Sistem, yalnızca cihaz tarafından şifrelenmiş verilere erişebilen ve uygulamalara veya verilere genel erişim olmayan kısıtlanmış bir modda başlatılır. Bu modda çalıştırmak istediğiniz bileşenleriniz varsa manifest dosyasında bir işaret ayarlayarak bunları tespit edebilirsiniz. Sistem, yeniden başlatıldıktan sonra LOCKED_BOOT_COMPLETED intent'ini yayınlayarak kayıtlı bileşenleri etkinleştirir. Sistem, cihaz tarafından şifrelenmiş kayıtlı uygulama verilerinin kullanılabilir olmasını sağlar dokunun. Kullanıcı, şifreyi çözmek için kilit ekranı kimlik bilgilerini onaylayana kadar diğer tüm veriler kullanılamaz.

Daha fazla bilgi için Doğrudan Başlatma konusuna bakın.

Anahtar Onayı

Android 7.0, bir cihazın donanım destekli anahtar mağazasında depolanan anahtar çiftlerinin, uygulamanızın kullandığı hassas bilgileri gerektiği gibi koruduğundan emin olmanıza yardımcı olan yeni bir güvenlik aracı olan anahtar doğrulamasını kullanıma sunar. Bu aracı kullanarak, uygulamanızı çalıştıran cihaz köklenmiş olsa bile uygulamanızın güvenli donanımdaki anahtarlarla etkileşime geçtiğinden emin olabilirsiniz. Donanım destekli anahtar deposundaki anahtarları kullanıyorsanız kullanıyorsanız bu aracı kullanmanız gerekir. Özellikle de uygulamanızdaki hassas bilgileri doğrulayın.

Anahtar onayı, bir RSA veya EC anahtar çiftinin cihazın donanım destekli anahtar deposunda oluşturulan ve depolanan güvenilir yürütme ortamı (TEE) olabilir. Araç ayrıca bir uygulamanızın arka uç sunucusu gibi cihaz dışı hizmetlere erişimi anahtar çiftinin kullanımlarını ve geçerliliğini kesin bir şekilde doğrular. Bu özellikler, anahtar çiftini koruyan ek bir güvenlik düzeyi, birisi, cihazın rootlanması veya çalışan Android platformunun güvenliğini tehlikeye atma cihaz üzerinde.

Not: Yalnızca Android 7.0 çalıştıran az sayıda cihaz donanım düzeyinde anahtar onayını destekleme; Android 7.0 çalıştıran diğer tüm cihazlar bunun yerine yazılım düzeyinde anahtar onayını kullanın. Tesisleri doğrulamadan önce donanım destekli anahtarlarının üretim düzeyinde bir ortamda devre dışı bırakıldığından cihazın donanım düzeyinde anahtar onayını desteklediğinden emin olun. Alıcı: onay sertifikası zincirinin bir kök içerdiğinden emin olmanız gerekir tarafından imzalanmış bir sertifika olduğunu ve Google onay kök anahtarı tarafından anahtarı içinde attestationSecurityLevel öğesi açıklama veri yapısı TrustedEnvironment güvenliğine ayarlıdır seviyesidir.

Daha fazla bilgi için Anahtar Attestasyonu geliştirici dokümanlarını inceleyin.

Ağ Güvenliği Yapılandırması

Android 7.0'da uygulamalar, geleneksel ve hataya açık programatik API'ler (ör. X509TrustManager) yerine açıklayıcı Network Security Config'i kullanarak güvenli (HTTPS, TLS) bağlantılarının davranışını herhangi bir kod değişikliği yapmadan güvenli bir şekilde özelleştirebilir.

Desteklenen özellikler:

  • Özel güven çapaları. Uygulamanın, hangi Sertifika Yetkilileri (CA), güvenli bağlantıları nedeniyle güvenilirdir. Örneğin, belirli kendinden imzalı sertifikalara veya kısıtlanmış bir kamu CA grubuna güvenme.
  • Yalnızca hata ayıklama amaçlı geçersiz kılma işlemleri. Uygulama geliştiricinin güvenli bir şekilde hata ayıklamasını sağlar ile güvenli bağlantı kurmalarını sağlar. büyütmek açısından önemlidir.
  • Şifresiz metin trafiğini kapsam dışında bırakma Uygulamaların kendini şifresiz metin trafiğinin yanlışlıkla kullanılmasına neden olabilir.
  • Sertifika sabitleme. Bir uygulamanın, başka bir uygulamadaki güvenli bağlantılar için hangi sunucu anahtarlarına güvenileceğini sınırlandırın.

Daha fazla bilgi için Ağ güvenliği yapılandırması sayfasına göz atın.

Varsayılan Güvenilir Sertifika Yetkilisi

Varsayılan olarak, Android 7.0'ı hedefleyen uygulamalar yalnızca sistem tarafından sağlanan sertifikalara güvenir ve artık kullanıcılar tarafından eklenen Sertifika Yetkililerine (CA) güvenmiyor. Android 7.0'ı hedefleyen uygulamalar (API düzeyi 24) kullanıcılar tarafından eklenen CA'lara güvenmek isteyen Ağ güvenliği yapılandırmasını kullanıcı CA'larına nasıl güvenilmesi gerektiğini belirtir.

APK İmza Şeması v2

Android 7.0, APK İmza Şeması v2'yi kullanıma sunuyor. Uygulama imzalama şeması, daha hızlı uygulama yükleme süreleri ve yetkisiz uygulamalara karşı daha fazla koruma sunar. APK dosyalarındaki değişiklikler. Varsayılan olarak, Android Studio 2.2 ve Android Gradle 2.2 eklentisi, uygulamanızı hem APK İmza Şeması v2 hem de geleneksel imza şemasını kullanır.

Uygulamanıza APK İmza Şeması v2'yi uygulamanızı öneririz ancak bu yeni şema zorunlu değildir. APK İmza Şeması v2 kullanılırken uygulamanız düzgün şekilde derlenmiyorsa yeni şemayı devre dışı bırakabilirsiniz. Devre dışı bırakma işlemi Android Studio 2.2 ve Gradle 2.2 Android Eklentisi'nin uygulamasında imzalamanız gerekir. Yalnızca geleneksel şemayı kullanıyorsanız modül düzeyindeki build.gradle dosyasını açın, v2SigningEnabled false satırını sürüm imzanıza ekleyin yapılandırma:

  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

Dikkat: Uygulamanızı APK kullanarak imzalarsanız İmza Şeması v2'yi tıklayın ve uygulamada, uygulamanın imzasında başka değişiklikler yapın geçersiz kılındı. Bu nedenle, zipalign gibi araçları kullanın. uygulamanızı APK İmza Şeması v2'yi kullanarak imzalamadan önce, sonradan değil,

Daha fazla bilgi için şunların nasıl yapılacağını açıklayan Android Studio dokümanlarını okuyun: Android Studio'da uygulama imzalama ve yapılandırma uygulama imzalamaya yönelik derleme dosyasını kullanarak Gradle için Android Eklentisi'ni kullanın.

Kapsamlı Dizin Erişimi

Android 7.0'da, uygulamalar belirli harici bilgilere erişim isteğinde bulunmak için yeni API'leri kullanabilir. SD gibi çıkarılabilir medyalardaki dizinler de dahil olmak üzere depolama dizinleri kartları'na dokunun. Yeni API'ler, uygulamanızın Pictures dizini gibi standart harici depolama dizinlerine erişme şeklini büyük ölçüde basitleştirir. Uygulamalar gibi fotoğraf uygulamaları da bu API'leri kullanabilir. READ_EXTERNAL_STORAGE, tüm depolama alanına erişim izni verir kullanıcının belirli bir sayfaya gitmesini sağlayan Depolama Erişim Çerçevesi dizin.

Ayrıca yeni API'ler, harici bir kullanıcıya erişim izni vermek için kullanıcının uygulamanıza depolama alanı erişimi. Yeni API'leri kullandığınızda sistem, uygulamanın hangi dizinde olduğunu net bir şekilde ayrıntılarıyla gösteren izinler kullanıcı arayüzü erişim isteğinde bulunabilirsiniz.

Daha fazla bilgi için Kapsamlı Directory Access geliştirici belgelerini inceleyin.

Klavye Kısayolları Yardımcısı

Android 7.0'da kullanıcı, hem sistemde hem de odaktaki uygulamada kullanılabilen tüm kısayolları gösteren Klavye Kısayollarını tetiklemek için Meta + / tuşlarına basabilir. Sistem bunları alır ve uygulamanın menüsünden otomatik olarak kısayolları gönderebilirsiniz. Ayrıca ekran için kendi hassas kısayol listelerinizi de sağlayabilirsiniz. Yapabilecekleriniz bunun için onProvideKeyboardShortcuts() yöntemini geçersiz kılın.

Not: Meta tuşu tüm klavyelerde bulunmaz: Macintosh klavyesinde Komut tuşu, Windows klavyesinde Windows tuşu, Pixel C ve ChromeOS klavyelerinde ise Arama tuşu olarak bulunur.

Klavye Kısayolları Yardımcısı'nı uygulamanızda herhangi bir yerden tetiklemek için şu numarayı arayın: requestShowKeyboardShortcuts(). bu bilgileri kullanabilirsiniz.

Özel İşaretçi API'sı

Android 7.0, işaretçinin görünümünü, görünürlüğünü ve davranışını özelleştirmenize olanak tanıyan Özel İşaretçi API'sini kullanıma sunar. Bu olanak özellikle kullanıcı etkileşimde bulunmak için fare veya dokunmatik alan kullandığında Kullanıcı arayüzü nesneleri. Varsayılan işaretçi, standart bir simge kullanır. Bu API ayrıca şunları da içerir: görünümünü değiştirmek gibi gelişmiş işlevler belirli fare veya dokunmatik alan hareketlerinde kullanılabilir.

İşaretçi simgesi ayarlamak için onResolvePointerIcon() geçersiz kılınır yöntemini View sınıfında bulabilirsiniz. Bu yöntemde PointerIcon nesnesini tıklayın hareket etkinliğidir.

Sustained Performance API

Uzun süreli uygulamalarda performans önemli ölçüde dalgalanabilir. Bunun nedeni cihaz bileşenlerinin değerine ulaştığında sistem çip üzerinde sistemi sıcaklık sınırları. Bu dalgalanma, uygulama için hareketli bir hedef gösteriyor yüksek performanslı ve uzun süreli uygulamalar oluşturan geliştiricilerdir.

Android 7.0, bu sınırlamaları gidermek için sürekli performans modu desteği içerir. Bu mod, OEM'lerin uzun süre çalışan uygulamalar için cihaz performansı özellikleri hakkında ipucu vermesini sağlar. Uygulama geliştiriciler bu ipuçlarını kullanarak uygulamaları tahmin edilebilir, ve uzun süre boyunca tutarlı cihaz performansı

Uygulama geliştiriciler, Android 7.0'daki bu yeni API'yi Yalnızca Nexus 6P cihazlar. Bu özelliği kullanmak için pencere için sürdürülebilir performans penceresi işaretini ayarla sürdürülebilir performans modunda çalıştırmak istediğinizi varsayalım. Bu işareti ayarlamak için Window.setSustainedPerformanceMode() yöntemini çağırın. Pencere artık odakta olmadığında sistem bu modu otomatik olarak devre dışı bırakır.

VR Desteği

Android 7.0, yeni bir VR modu için platform desteği ve optimizasyonlar ekleyerek geliştiricilerin, kullanıcılar için yüksek kaliteli mobil sanal gerçeklik deneyimleri geliştirme VR uygulamaları için özel bir CPU çekirdeğine erişim de dahil olmak üzere çeşitli performans geliştirmeleri vardır. Uygulamalarınızda akıllı baş izleme özelliğinden yararlanabilir, ve stereo bildirimlerle VR için çalışır. En önemlisi, Android 7.0 ve çok düşük gecikmeli grafikler Android 7.0 için VR uygulamaları oluşturma hakkında ayrıntılı bilgi edinmek üzere Android için Google VR SDK'sını inceleyin.

Android 7.0'da, yazdırma hizmeti geliştiricileri artık ek bilgiler gösterebilir. ayrı ayrı yazıcılar ve yazdırma işleri hakkında bilgi edinebilirsiniz.

Yazıcıları tek tek listelerken, bir yazdırma hizmeti artık her yazıcı için ayrı ayrı ayarlanabilir iki şekilde kullanabilirsiniz:

Ayrıca, setInfoIntent() çağrısı yaparak ek bilgileri görüntülemek için yazıcı başına bir etkinlik sağlayabilirsiniz.

Sırasıyla setProgress() ve setStatus() işlevlerini çağırarak yazdırma işlerinin ilerleme durumunu ve durumunu yazdırma işi bildirimde belirtebilirsiniz.

Çerçeve Metrikleri API'sı

Frame Metrics API, bir uygulamanın kullanıcı arayüzü oluşturmayı izlemesine olanak tanır bazı yolları da görmüştük. API, uygulamanın mevcut penceresiyle ilgili kare zamanlama bilgilerini aktarmak için akışlı bir Pub/Sub API sunarak bu özelliği sağlar. Döndürülen veriler adb shell dumpsys gfxinfo framestats tarafından görüntülenen kareye eşdeğerdir ancak son 120 kareyle sınırlı değildir.

Etkileşim düzeyindeki kullanıcı arayüzünü ölçmek için Frame Metrics API'yi hem de üretimde daha iyi performans sağlar. Bu API, adb shell dumpsys gfxinfo'e kıyasla çok daha yüksek ayrıntı düzeyinde veri toplama olanağı sunar. Bu daha yüksek ayrıntı düzeyi, Sistem, uygulamadaki belirli etkileşimler için veri toplayabilir; sistem genel bir özet yakalamasına gerek yoktur. performans artışına yardımcı olabilir. Bu özelliği, uygulama içindeki gerçek kullanım alanları için performans verileri toplamak ve kullanıcı arayüzü performansında gerileme yakalamak amacıyla kullanabilirsiniz.

Bir pencereyi izlemek için OnFrameMetricsAvailableListener.onFrameMetricsAvailable(). yöntemini çağırın ve bu pencerede kaydedin.

Bu API, FrameMetrics nesnesi sağlar. Oluşturma alt sisteminin çeşitli aşamalar için raporladığı zamanlama verilerini içerir özetlemenizi sağlar. Desteklenen metrikler şunlardır: UNKNOWN_DELAY_DURATION, INPUT_HANDLING_DURATION ANIMATION_DURATION, LAYOUT_MEASURE_DURATION, DRAW_DURATION, SYNC_DURATION, COMMAND_ISSUE_DURATION, SWAP_BUFFERS_DURATION, TOTAL_DURATION ve FIRST_DRAW_FRAME.

Sanal Dosyalar

Uygulamanız, Android'in önceki sürümlerinde Depolama Alanı Erişimi'ni kullanabilirdi Kullanıcıların bulut depolama hesaplarından dosya seçmelerini sağlayan çerçeve, Google Drive gibi. Ancak, kötü amaçlı yazılım bulaşan dosyaları temsil etmenin Doğrudan bayt kodu gösterimi olmamalıdır, dosya gerekliliklerini yerine getirmek giriş akışı anlamına gelir.

Android 7.0, Depolama Erişimi'ne sanal dosya kavramını ekledi Çerçeve. Sanal dosyalar özelliği, DocumentsProvider ve kullansa bile ACTION_VIEW amacıyla kullanılır. bayt kodu temsili yoktur. Android 7.0, kullanıcı dosyaları için sanal veya başka biçimler de sunmanıza olanak tanır.

Sanal dosyaları açma hakkında daha fazla bilgi için bkz. Sanal dosyaları şurada açın: Depolama Erişim Çerçeveleri kılavuzu.