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](https://developer.android.google.cn/static/images/android-7.0/mw-portrait.png?authuser=19&hl=tr)
Ş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](https://developer.android.google.cn/static/images/android-7.0/notifications-1.png?authuser=19&hl=tr)
![Tek mesaj bildirimi gösteren mobil cihaz](https://developer.android.google.cn/static/images/android-7.0/notifications-3.png?authuser=19&hl=tr)
![Bildirim arayüzünde satır içi mesaj yanıtını gösteren mobil cihaz](https://developer.android.google.cn/static/images/android-7.0/notifications-2.png?authuser=19&hl=tr)
Ş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](https://developer.android.google.cn/static/images/android-7.0/doze-diagram-1.png?authuser=19&hl=tr)
Ş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](https://developer.android.google.cn/static/images/android-7.0/datasaver.png?authuser=19&hl=tr)
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ı](https://developer.android.google.cn/static/images/android-7.0/quicksettings.png?authuser=19&hl=tr)
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.
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.
Yazdırma Hizmeti Geliştirmeleri
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:
- Şu numarayı arayarak bir kaynak kimliğinden simge ayarlayabilirsiniz:
setIconResourceId()
- Şu numarayı arayarak ağdan bir simge gösterebilirsiniz:
setHasCustomPrinterIcon()
, ve simge istendiğinde bir geri arama ayarlamak içinonRequestCustomPrinterIcon()
.
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.