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.

Şu konu hakkında daha fazla bilgi edinmek için: 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 ve çoklu görev özelliğini platforma taşıyabilirsiniz — ç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.
Uygulamaları bölünmüş ekran modunda çalıştıran mobil cihazlar

Ş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 bunu yapılandırmak için çok pencereli ekranı işler. Örneğin, etkinliğinizin İzin verilen minimum boyut, kullanıcıların aşağıdaki etkinliği yeniden boyutlandırmasını önler emin olabilirsiniz. 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 hızlı bir şekilde daha hızlı çalışmasını sağlar. Değişikliklerden bazıları şunlardır:

  • Şablon güncellemeleri: Bildirim şablonlarını şu şekilde güncelliyoruz: kahraman resmini ve avatarı vurgulayın. 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, Google Haritalar'ı kullanarak özel öğeler kullanılırken bildirim başlıkları ve işlemler gibi süslemeler Bildirimlerde görüntülendi.
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 rehberliğinde derlemeyi cihaz piline bağlı. Ö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. Değilse uyarlamaya başlayın uygulamanızı Doz'a ekleyin.

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 aşağıdakilere göre optimizasyon yapmasına izin verirken işleri planlayabilir: bellek, güç ve bağlantı koşulları var. 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 erişim kapsamını genişletmeye devam ediyoruz Daha fazlası için GCMNetworkManager (örneğin, Android 7.0'da artık arka plan planı oluşturabilirsiniz.) içerik sağlayıcılardaki değişikliklere göre çalışmalıdır. 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 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ı, çünkü uygulamadan ayrı olarak özel donanımlarda bir araya getirildiğinden yardımcı olur. 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. Hücresel veri, birçok kullanıcı için pahalı bir kaynak olabilir.

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 VulkanTM'ı platforma entegre etmektedir. 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. Onlar şunlardır:

  • Üstbilgiler
  • Doğrulama katmanları (hata ayıklama kitaplıkları)
  • SPIR-V gölgelendirici derleyici
  • 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.

Ek Hızlı Ayar kutuları için daha fazla alan ekledik. Kullanıcıların sağa veya sola kaydırarak sayfalandırılmış bir görüntü alanında erişebilirsiniz. Ayrıca Kullanıcıların hangi Hızlı Ayar parçalarının nerede görüneceğini ve bunların nerede Kullanıcılar yalnızca sürükleyip bırakarak karo 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. İlgili içeriği oluşturmak için kullanılan varsayılan SMS uygulaması, varsayılan telefon uygulaması ve operatör uygulamaları ile engellenen numara listesine yazacağım. Diğer uygulamalar 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ı desteklemenin yanı sıra dil sayısını da genişletiyor olanak tanıyor. 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 varyasyonunu kullanmalıdır. Bir emojide varyasyon olup olmadığını belirlemek için varyasyon seçiciyi kullanın. Varyasyonları olan karakterlerin tam listesi için emoji varyasyon dizileri bölümündeki Varyasyonlarla ilgili Unicode dokümanları.
  • 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ı görsellik sağlamalıdır birden fazla ten rengi olan ve kullanıcıların cilt tonunu seçin. 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ştirerek ve WebView uygulaması'nı seçin. 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 . Burada sürüm, başlatma süresindeki regresyonlar, toplam bellek kullanımı ve yazılım iyi performans göstermesi beklenir.

Çoklu işlem modunda beklenmedik sorunlarla karşılaşırsanız bize bildirin. gerekir. 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. Bağlam, mevcut durumda yeni bir WebView örneğinde yüklenen ilk sayfadır.

WebView'a JavaScript yerleştirmek isteyen geliştiriciler, komut dosyasını geri yükleyin.

Güvenli olmayan kaynaklarda coğrafi konum

Android 7.0'ı hedefleyen uygulamalardan başlayarak, coğrafi konum API'si yalnızca güvenli kaynaklarda (HTTPS üzerinden) izin verilir. 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ğıdaki gibi çerçeve arayüzleri ve platform desteği sağlar:

  • 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 değiştirme uygulamasının üzerine inşa etme TV giriş hizmetleri hangi kanal verilerinin kaydedilebileceğini, bu verilerin nasıl kaydedilebileceğini kaydedilen oturumlar kaydedilir ve kaydedilen içerikle kullanıcı etkileşimini yönetir.

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. Bazı önemli noktaları aşağıda bulabilirsiniz. Özelliklerin tam listesi için bkz. Android Enterprise özelliği liste.

İş profili güvenlik sorgulaması

N SDK'sını hedefleyen profil sahipleri şurada çalışan uygulamalar için ayrı bir güvenlik sorgulaması belirtebilir: iş profili oluşturabilirsiniz. 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, iş sorgulaması için ayrı şifre kodu politikaları belirleyebilir (PIN'in ne kadar uzun olması gerektiği veya parmak izinin kullanılıp kullanılamayacağı gibi) (profilin kilidini açmak için) setPasswordQuality(), setPasswordMinimumLength() ve ilgili yöntemler. 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 bir uygulamadır. Ç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().

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. Farklı hizmetler, sisteme intent filtresiyle eşleşen android.net.VpnService işlemi.

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

Bir uygulama, profil sahibini ve cihaz sahibi temel hazırlığını özelleştirebilir kurumsal renkler ve logolarla dolu. 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 da kullanıcıların keşfetmesini ve yapılandırmasını çok daha kolay hale getirir büyütme hareketi, yazı tipi gibi erişilebilirlik özellikleri boyutunu, görüntü boyutunu ve TalkBack'i kullanabilirsiniz.

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 başlatma sürelerini iyileştirir ve kayıt özelliğinin iyileştirilmesine olanak tanır. uygulamaların, beklenmedik bir yeniden başlatma sonrasında bile sınırlı işlevleri vardır. Ö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 başlatma, Android 7.0'daki dosya tabanlı şifrelemeden yararlanır. Böylece hem sistem hem de uygulama verileri için ayrıntılı şifreleme politikaları etkinleştirebilirsiniz. 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 başlatma sırasında kısıtlı modda başlatılır ve şifreli veri olmadan ve uygulamalara ya da verilere genel erişim olmaksızın. Bu modda çalıştırmak istediğiniz bileşenleriniz varsa manifest dosyasında bir işaret ayarlayarak bunları tespit edebilirsiniz. Yeniden başlatıldıktan sonra sistem etkinleşir LOCKED_BOOT_COMPLETED anons yaparak kayıtlı bileşenler isteyebilirsiniz. Sistem, cihaz tarafından şifrelenmiş kayıtlı uygulama verilerinin kullanılabilir olmasını sağlar dokunun. Kullanıcı, kilidini onaylayana kadar diğer veriler kullanılamaz ekran kimlik bilgilerini kullanabilirsiniz.

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

Anahtar Onayı

Android 7.0, anahtar doğrulaması, güvenlik açığını bir cihazın donanım destekli yedeklemesinde saklanan anahtar çiftlerinin anahtar deposunda sakladığınız hassas bilgileri belirler. Bu aracı kullandığınızda, uygulamanızın Kullanıcı, cihaz değiştirilse bile güvenli donanımda bulunan anahtarlarla etkileşimde bulunduğunda olduğunu fark edebilirsiniz. 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 seviyesinde olmalıdır.

Daha fazla bilgi için Anahtar Onayı geliştirici belgelerine göz atın.

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

Android 7.0'da, uygulamalar güvenli özelliklerinin (HTTPS, TLS) davranışını özelleştirebilir güvenli bir şekilde ve herhangi bir kodda değişiklik yapmadan, bildirim temelli Standart yapılandırma ayarlarını kullanmaya başlamak yerine Ağ Güvenliği Yapılandırması hataya açık programatik API'ler (ör. X509TrustManager).

Desteklenen özellikler:

  • Özel güven çapaları. Uygulamanın, hangi Sertifika Yetkilileri (CA), güvenli bağlantıları nedeniyle güvenilirdir. Örneğin, Örneğin, kendinden imzalı belirli sertifikalara veya sınırlı bir genel 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.
  • Açık metin trafiğini devre dışı 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ızda APK İmza Şeması v2'yi uygulamanızı önersek de bu yeni kullanılması zorunlu değildir. APK kullanılırken uygulamanız düzgün bir şekilde geliştirilmiyorsa İmza Şeması v2'yi seçerseniz 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.

Kapsama Alınan Dizin Erişimi

Android 7.0'da, uygulamalar belirli harici bilgilere erişim isteğinde bulunmak için yeni API'leri kullanabilir. Storage dizinleri (SD gibi çıkarılabilir medyalardaki dizinler dahil) kartları'na dokunun. Yeni API'ler, uygulamanızın standartlara erişimini büyük ölçüde basitleştirir Pictures dizini gibi harici depolama dizinleri. Uygulamalar API'leri kullanmak yerine 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ı bir öğeyi tetiklemek için Meta + / tuşlarına basabilir. Her ikisinde de kullanılabilen tüm kısayolları görüntüleyen Klavye Kısayolları ekranı gelen kararlar olabilir. Sistem bunları alır ve uygulamanın menüsünden otomatik olarak kısayolları gönderebilirsiniz. Şunları yapabilirsiniz: Ayrıca, ekrana yönelik ince ayar yapılmış kısayol listelerinizi de sağlar. Yapabilecekleriniz bunun için onProvideKeyboardShortcuts() yöntemini geçersiz kılın.

Not: Meta anahtarı tüm klavyeler: Macintosh klavyelerde bu, Command tuşudur. Windows klavyesinde Windows tuşudur ve Pixel C ve ChromeOS klavyelerinde bu, Arama tuşudur.

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, özel İşaretçi API'sini kullanıma sunmuştur. Bu API, işaretçinin görünümünü, görünürlüğünü ve davranışını değiştirebilirsiniz. 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.

Sürdürülebilir Performans API'si

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.

Bu sınırlamaları aşmak için Android 7.0, sürekli performans modunu kullanabilirsiniz. cihaz performansı özellikleri sunar. 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. Sistem, otomatik olarak pencere artık odakta olmadığında bu modu 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 Paydaşların yönetiminde VR uygulamaları için özel bir CPU çekirdeğine erişim de dahil olmak üzere geliştirmeler yapıldı. 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:

Buna ek olarak, yazıcıya özel etkinlik de sağlayabilir ve böylece daha fazla bilgi için setInfoIntent() numaralı telefonu arayın.

Yazdırma işindeki yazdırma işlerinin ilerlemesini ve durumunu belirtebilirsiniz telefonla bildirim setProgress() ve Sırasıyla setStatus().

Ç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, aktarım çerçevesinin bir akış Pub/Sub API'sini açığa çıkararak bu özelliği sağlar. zamanlama bilgisidir. 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 veri toplanmasını sağlayan daha yüksek ayrıntı düzeyinde adb shell dumpsys gfxinfo Bu daha yüksek ayrıntı düzeyi, Sistem, uygulamadaki belirli etkileşimler için veri toplayabilir; sistem genel bir özetini yakalamanız gerekmez. performans artışına yardımcı olabilir. Bunu kullanabilirsiniz performans verileri toplama ve kullanıcı arayüzü performansındaki regresyonları yakalama özelliği bir uygulamadaki gerçek kullanım alanlarına yönlendirilebilir.

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 kullanabilir Kullanıcıların bulut depolama hesaplarından dosya seçmelerini sağlayan çerçeve, örneğin 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 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 ayrıca şunları yapmanıza olanak tanır: kullanıcı dosyaları için sanal veya başka türlü alternatif biçimler sağlama.

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