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.
Ö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.
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.
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
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ı
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.
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.
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()
.
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.