Geliştiriciler için Android 10

Android 10, üç önemli temaya göre tasarlanmıştır. Öncelikle Android 10, gelişmiş makine öğrenimi ve katlanabilir cihazlar ile 5G özellikli telefonlar gibi yeni cihazlar için destek sunarak mobil yeniliklerin öncüsü konumundadır. Android 10'un odak noktası gizlilik ve güvenliktir. Kullanıcılara daha fazla koruma, şeffaflık ve kontrol sağlayan yaklaşık 50 özellik sunar. Son olarak Android 10, kullanıcıların dijital denge denetimlerini genişleterek bireylerin ve ailelerin teknolojiyle daha iyi bir denge yakalamasını sağlar.

Android 10'un geliştiricilere sunduğu özelliklere ve bu özellikleri hemen nasıl kullanabileceğinize göz atın.

Yenilik ve yeni deneyimler

Android 10 ile kullanıcılara muhteşem uygulama deneyimleri sunmak için en son donanım ve yazılım yeniliklerinden yararlanabilirsiniz.

Android 10 ile uygulamalarınızı katlanabilir cihazlar ve diğer büyük ekranlı cihazlar için optimize edebilirsiniz.

Katlanabilir cihazlar

Sağlam çoklu pencere desteğini temel alan Android 10, uygulama pencerelerinde çoklu görev özelliğini genişletir ve cihaz katlanırken veya açılırken uygulamanızın durumunu korumak için ekran devamlılığı sağlar. Android 10, çoklu devam etmeyi desteklemek ve uygulamanız odaklandığında uygulamanızı bilgilendirmek için onResume ve onPause yöntemlerinde bir dizi iyileştirme ekler. Ayrıca, uygulamanızın katlanabilir ve büyük ekranlarda nasıl gösterildiğini yönetmenize yardımcı olmak için resizeableActivity manifest özelliğinin işleyiş şeklini de değiştirir. Katlanabilir cihazlar için uygulama geliştirmenize yardımcı olması amacıyla Android Studio'da katlanabilir bir emülatörünü sanal cihaz (AVD) olarak yapılandırabilirsiniz. Uygulamalarınızı katlanabilir cihazlar için nasıl optimize edeceğiniz hakkında ayrıntılı bilgi için geliştirici kılavuzuna göz atın.

5G ağları

5G, daha yüksek hız ve daha düşük gecikme süresi sunar. Android 10, 5G için platform desteği ekler ve bu geliştirmelerden yararlanmanıza yardımcı olmak için mevcut API'leri genişletir. Cihazın yüksek bant genişliğine sahip bir bağlantısı olup olmadığını tespit etmek ve bağlantının ölçülü olup olmadığını kontrol etmek için bağlantı API'lerini kullanabilirsiniz. Bu sayede uygulama ve oyunlarınız, 5G'den yararlanan kullanıcılara zengin ve etkileyici deneyimler sunabilir.

Bildirimlerde Akıllı Yanıt

Android 10, bildirimlerde bağlama dayalı işlemler (ör. mesajlar için akıllı yanıtlar veya bildirimdeki bir adresin haritasını açma) önermek için cihaz üzerinde makine öğrenimi kullanır. Uygulamalarınız, herhangi bir işlem yapmanıza gerek kalmadan bu özellikten hemen yararlanabilir. Sistem tarafından sağlanan akıllı yanıtlar ve işlemler, varsayılan olarak doğrudan bildirimlere eklenir. İsterseniz kendi yanıtlarınızı ve eylemlerinizi de sağlayabilirsiniz. setAllowGeneratedReplies() ve setAllowSystemGeneratedContextualActions() yöntemlerini kullanarak bildirim bazında akıllı yanıtı devre dışı bırakmanız yeterlidir.

Akıllı Yanıt, bildirim içeriğine göre işlem önerebilir.

Koyu Tema

Android 10, düşük ışık için ideal olan ve pil tasarrufu sağlayan sistem genelinde koyu tema ekler. Kullanıcılar, Ayarlar'a giderek veya Pil Tasarrufu'nu açarak sistem genelinde yeni bir koyu temayı etkinleştirebilirler. Bu işlem, sistem kullanıcı arayüzünü koyu renk olarak değiştirir ve destekleyen uygulamalarda koyu temayı etkinleştirir. Uygulamanız için özel bir koyu tema oluşturabilir veya sistemin mevcut temanızdan dinamik olarak koyu bir sürüm oluşturmasına olanak tanıyan yeni Zorunlu Koyu özelliğini etkinleştirebilirsiniz. Ayrıca, Android'in önceki sürümlerini çalıştıran kullanıcılara koyu renk tema sunmak için AppCompat'ın DayNight özelliğinden yararlanabilirsiniz. Daha fazla bilgi için geliştirici kılavuzuna bakın.

Android 10, Koyu'yu Zorla özelliğiyle uygulamanız için dinamik olarak koyu tema oluşturabilir.

Hareketle gezinme

Hareketle gezinme, uygulamalara içerik için tam ekran verir.

Android 10, gezinme çubuğu alanını ortadan kaldıran ve uygulamaların daha zengin, daha etkileyici deneyimler sunmak için tam ekranı kullanmasına olanak tanıyan tamamen hareket tabanlı bir gezinme modu sunar. Görünür düğmeler yerine kenar kaydırmalarıyla tanıdık Geri, Ana Sayfa ve Sonlar gezinme menüsünü korur. Hareketle gezinmeyle sorunsuz bir şekilde uyum sağlamak için sürükleyici bir deneyim oluşturmak amacıyla kenardan kenara gidip gezinme çubuğunun arkasına çizim yapmalısınız. Uygulamalar bunu uygulamak için tam ekran olarak düzenlenmek üzere setSystemUiVisibility() API'sini kullanmalı, ardından kullanıcı arayüzünün önemli bölümlerinin gizlenmemesini sağlamak için WindowInsets'i uygun şekilde işlemelidir. Uygulamanızı optimize etmeye hemen başlayın. Daha fazla bilgi için blog yayını serimize göz atın.

Ayarlar panelleri

Artık yeni Ayarlar Paneli API'si aracılığıyla önemli sistem ayarlarını doğrudan uygulama bağlamında gösterebilirsiniz. Ayar paneli, kullanıcıların ihtiyaç duyabileceği ayarları (ör. internet bağlantısı, NFC ve ses seviyesi) göstermek için çağırdığınız, yüzen bir kullanıcı arayüzüdür. Örneğin, bir tarayıcıda Uçak Modu, kablosuz ağ (yakındaki ağlar dahil) ve mobil veri gibi bağlantı ayarlarını içeren bir panel gösterilebilir. Bir ayarlar paneli görüntülemek için yeni Settings.Panel işlemlerinden biriyle intent tetiklemeniz yeterlidir.

Paylaşım kısayolları

Paylaşım kısayolları, kullanıcıların içerik paylaşmak için doğrudan başka bir uygulamaya geçmesine olanak tanıyarak paylaşımı daha hızlı ve kolay hale getirir. Geliştiriciler, uygulamalarında belirli bir etkinliği içerik eklenmiş şekilde başlatan paylaşım hedefleri yayınlayabilir. Bu hedefler, paylaşım kullanıcı arayüzünde kullanıcılara gösterilir. Önceden yayınlandıkları için paylaşım kullanıcı arayüzü, açıldığında anında yüklenir. Paylaşım kısayolları, uygulama kısayollarına benzer ve aynı ShortcutInfo API'yi kullanır. API, ShareTarget AndroidX kitaplığında da desteklenir. Ayrıntılar için örnek uygulamaya bakın.

Paylaşım kısayolları, kullanıcıların doğrudan uygulamalarınızda içerik eklenmiş belirli bir etkinliğe atlamasına olanak tanır.

Kullanıcılar için gizlilik

Android 10'da gizlilik, platformdaki daha güçlü korumalardan gizlilik göz önünde bulundurularak tasarlanmış yeni özelliklere kadar her şeyin odak noktasıdır. Önceki sürümlerin üzerine inşa edilen Android 10, gizliliği korumak ve kullanıcılara daha fazla kontrol sağlamak için kapsamlı değişiklikler içerir. Bu değişiklikler arasında geliştirilmiş sistem kullanıcı arayüzü, daha katı izinler ve uygulamaların kullanabileceği verilerle ilgili kısıtlamalar yer alır. Bu değişiklikleri uygulamalarınızda nasıl destekleyeceğinizle ilgili ayrıntılar için gizlilik değişikliklerine göz atın.

Kullanıcılar artık uygulama ön plandayken konuma erişim izni vermeyi seçebilir.

Kullanıcılara konum verileri üzerinde daha fazla kontrol verme: Kullanıcılar, yeni bir izin seçeneği sayesinde konum verileri üzerinde daha fazla kontrole sahip olur. Artık bir uygulamanın konuma yalnızca gerçekten kullanılırken (ön planda çalışırken) erişmesine izin verebilirler. Bu, çoğu uygulama için yeterli düzeyde erişim sağlarken kullanıcılar için şeffaflık ve kontrol açısından büyük bir gelişmedir. Konum değişiklikleri hakkında daha fazla bilgi edinmek için geliştirici kılavuzuna veya blog yayınımıza göz atın.

Ağ taramalarında konum verilerini koruma: Ağları tarama API'lerinin çoğunda zaten kaba konum izni gerekiyordu. Android 10, bunun yerine hassas konum izni gerektirerek bu API'lerle ilgili korumayı artırır.

Cihaz takibini önleme: Uygulamalar artık cihaz IMEI'si, seri numarası ve benzer tanımlayıcılar da dahil olmak üzere izleme için kullanılabilecek sıfırlanamayan cihaz tanımlayıcılarına erişemez. Cihazın MAC adresi de varsayılan olarak kablosuz ağlara bağlıyken rastgele belirlenir. Kullanım alanınız için doğru tanımlayıcıları seçmenize yardımcı olması amacıyla en iyi uygulamaları okuyun ve ayrıntıları burada inceleyin.

Harici depolamadaki kullanıcı verilerinin güvenliğini sağlama - Android 10, kullanıcıların harici depolama alanındaki dosyalar ve bunların içindeki uygulama verileri üzerinde daha fazla kontrol sahibi olmalarını sağlamak için bir dizi değişiklik sunmaktadır. Uygulamalar kendi dosyalarını özel korumalı alanlarında saklayabilir ancak paylaşılan medya dosyalarına erişmek için MediaStore'u, yeni İndirilenler koleksiyonundaki paylaşılan dosyalara erişmek için ise sistem dosya seçiciyi kullanmalıdır. Daha fazla bilgiyi burada bulabilirsiniz.

İstenmeyen kesintileri engelleme: Android 10, arka planda başlatılan ve beklenmedik bir şekilde öne çıkan ve başka bir uygulamadan odağı alan uygulamaları engeller. Daha fazla bilgi

Güvenlik

Android 10, şifreleme, platform güçlendirme ve kimlik doğrulama alanındaki gelişmeler sayesinde kullanıcıların daha güvende olmasını sağlayan bir dizi özellik sunar. Android 10 güvenlik güncellemeleri hakkında daha fazla bilgi edinin.

Depolama alanı şifrelemesi: Android 10 ile kullanıma sunulan tüm uyumlu cihazların kullanıcı verilerini şifrelemesi gerekir. Android 10, bu işlemi daha verimli hale getirmek için yeni şifreleme modumuz Adiantum'u içerir.

Varsayılan olarak TLS 1.3: Android 10, TLS standardının performans avantajları ve gelişmiş güvenlik ile önemli bir revizyonu olan TLS 1.3'ü varsayılan olarak etkinleştirir.

Platform güçlendirme: Android 10, platformun güvenlik açısından kritik olan çeşitli alanlarında güçlendirme de içerir.

İyileştirilmiş Biyometri: Android 10, BiometricPrompt çerçevesini genişleterek yüz gibi pasif kimlik doğrulama yöntemlerini destekler ve hem açık hem de gizli kimlik doğrulama akışları ekler. Açık akışta, kullanıcının kimlik doğrulama sırasında TEE'de işlemi açıkça onaylaması gerekir. Örtük akış, pasif kimlik doğrulamalı işlemler için daha hafif bir alternatif olarak tasarlanmıştır. Android 10, gerektiğinde cihaz kimlik bilgileri için yedekleme özelliğini de iyileştirir. Daha fazla bilgiyi burada bulabilirsiniz.

Kamera ve medya içerikleri

Fotoğraflar için dinamik derinlik

Uygulamalar artık JPEG, derinlikle ilgili öğelerle ilgili XMP meta verileri ve aynı dosyaya yerleştirilmiş bir derinlik ve güven haritasından oluşan dinamik derinlik resmi isteyebilir. Bu özellikler, uygulamanızda özel bulanıklık ve bokeh seçenekleri sunmanıza olanak tanır. Dinamik Derinlik, ekosistem için açık bir biçimdir. Android 10 ve sonraki sürümleri çalıştıran cihazlara sunmak için iş ortaklarımızla birlikte çalışıyoruz.

Dinamik Derinlik resmi sayesinde uygulamanızda özel bulanıklaştırma ve bokeh seçenekleri sunabilirsiniz.

Ses oynatma kaydı

Artık ses çalan tüm uygulamalar, yeni bir ses çalma yakalama API'si kullanarak diğer uygulamaların ses akışlarını yakalamasına izin verebilir. API, altyazıları etkinleştirmenin yanı sıra canlı yayın oyunları gibi popüler kullanım alanlarını desteklemenize olanak tanır. Bu yeni özelliği gizlilik ve telif hakkı koruması göz önünde bulundurularak geliştirdik. Bu nedenle, bir uygulamanın başka bir uygulamanın sesini yakalama özelliği kısıtlanmıştır. Böylece uygulamalar, ses akışlarının yakalanıp yakalanamayacağı konusunda tam kontrol sahibi olur. Daha fazla bilgi için bu blog yayınını inceleyin.

Yeni ses ve video codec'leri

Android 10, medya sağlayıcıların daha az bant genişliği kullanarak Android cihazlara yüksek kaliteli video içeriği yayınlamasına olanak tanıyan açık kaynak video codec'i AV1 desteği ekler. Buna ek olarak, Android 10, konuşma ve müzik akışı için optimize edilmiş açık ve telifsiz bir codec olan Opus'u ve destekleyen cihazlarda yüksek dinamik aralıklı videolar için HDR10+'yı kullanarak ses kodlamayı destekler. MediaCodecInfo API, bir Android cihazın video oluşturma özelliklerini belirlemenin daha kolay bir yolunu sunar. Belirli bir codec için desteklenen boyutların ve kare hızlarının listesini alabilirsiniz.

Native MIDI API

Android 10, ses işlemeyi C++'ta gerçekleştiren uygulamalar için NDK üzerinden MIDI cihazlarıyla iletişim kurmak üzere yerel MIDI API'yi kullanıma sunar. Bu API, MIDI verilerinin engellenmeyen bir okuma kullanarak ses geri çağırma işlevi içinde alınmasına olanak tanır. Böylece MIDI mesajlarının düşük gecikmeli olarak işlenmesi sağlanır. Buradaki örnek uygulama ve kaynak koduyla deneyebilirsiniz.

Yönlü, yakınlaştırılabilir mikrofonlar

Android 10, yeni bir MicrophoneDirection API'si aracılığıyla ses kaydı üzerinde daha fazla kontrol sahibi olmanızı sağlar. Ses kaydı alırken mikrofonun tercih edilen yönünü belirtmek için API'yi kullanabilirsiniz. Örneğin, kullanıcı "selfie" videosu çekerken ses kaydı için ön mikrofonu isteyebilirsiniz (varsa). Ayrıca bu API, yakınlaştırılabilir mikrofonları kontrol etmenin standart bir yolunu sunar. Bu sayede uygulamanız kayıt alanı boyutu üzerinde kontrol sahibi olabilir.

Vulkan her yerde

Android 10, yüksek performanslı 3D grafikler için düşük maliyetli, platformlar arası API'yi uygulamamızla Vulkan'ın etkisini genişletir. Vulkan 1.1 artık Android 10 ve sonraki sürümleri çalıştıran tüm 64 bit cihazlarda zorunlu, tüm 32 bit cihazlarda ise önerilen bir özelliktir. Ekosistemde Vulkan desteğinde önemli bir ivme görüyoruz. Android N veya sonraki sürümleri çalıştıran cihazların %53'ü Vulkan 1.0.3 veya sonraki sürümleri destekliyor. Android 10'daki yeni şartla birlikte, önümüzdeki yıl bu özelliğin benimsenme düzeyinin daha da artmasını bekliyoruz.

Bağlantı

İyileştirilmiş eşler arası ve internet bağlantısı

Kablosuz ağ yığınını, gizliliği ve performansı iyileştirmek, ayrıca konum izni gerekmeden IoT cihazlarını yönetmek ve internet bağlantısı önermek gibi yaygın kullanım alanlarını iyileştirmek için yeniden düzenledik. Ağ bağlantısı API'leri yapılandırma, indirme veya yazdırma gibi eşler arası işlevler için IoT cihazlarını yerel kablosuz ağ üzerinden yönetmeyi kolaylaştırır. Ağ önerisi API'leri, uygulamaların internet bağlantısı için kullanıcıya tercih edilen kablosuz ağları göstermesine olanak tanır.

Kablosuz ağ performans modları

Uygulamalar artık yüksek performans ve düşük gecikme süresi modlarını etkinleştirerek uyarlanabilir kablosuz bağlantı isteyebilir. Bu özellikler, gerçek zamanlı oyunlar, etkin sesli görüşmeler ve benzer kullanım alanları gibi düşük gecikmenin kullanıcı deneyimi açısından önemli olduğu durumlarda büyük avantaj sağlayabilir. Platform, koşulu en düşük güç tüketimiyle karşılamak için cihaz donanım yazılımıyla çalışır. Yeni performans modlarını kullanmak için WIFI_MODE_FULL_LOW_LATENCY veya WIFI_MODE_FULL_HIGH_PERF ile WifiManager.WifiLock.createWifiLock() işlevini çağırın. Bu modlarda platform, koşulu en düşük güç tüketimiyle karşılamak için cihaz donanım yazılımıyla birlikte çalışır.

Android temelleri

ART optimizasyonları

ART çalışma zamanındaki iyileştirmeler, uygulamalarınızın daha hızlı başlatılmasına, daha az bellek kullanmasına ve daha akıcı bir şekilde çalışmasına yardımcı olur. Bunun için herhangi bir işlem yapmanız gerekmez. Google Play tarafından sağlanan ART profilleri, ART'ın uygulamanızın bölümlerini çalıştırılmadan önce bile önceden derlemesine olanak tanır. Android 10, çalışma zamanında ART'ın Eşzamanlı Kopyalama (CC) Çöp Toplayıcısı'na nesilsel çöp toplama özelliğini ekleyerek çöp toplamayı zaman ve CPU açısından daha verimli hale getirir, takılmaları azaltır ve uygulamaların düşük kaliteli cihazlarda daha iyi çalışmasına yardımcı olur.

Bu grafikte, Play profilleri kullanılarak test edilen belirli uygulamalarda başlatma süresinde yaşanan yüzdelik iyileşme gösterilmektedir.

Neural Networks API 1.2

Çeşitli performans optimizasyonlarının yanı sıra ARGMAX, ARGMIN, kesikli LSTM gibi 60 yeni işlem ekledik. Bu, nesne algılama ve resim segmentasyonu gibi çok daha geniş bir model yelpazesini hızlandırmanın temelini oluşturur. NNAPI 1.2 desteğini optimize etmek ve kullanıma sunmak için donanım tedarikçileri ve TensorFlow gibi popüler makine öğrenimi çerçeveleriyle birlikte çalışıyoruz.

Thermal API

Cihazlar çok ısındığında CPU ve/veya GPU'yu daraltabilirler. Bu da uygulama ve oyunları beklenmedik şekillerde etkileyebilir. Android 10'da uygulamalar ve oyunlar, cihazdaki değişiklikleri izlemek ve normal sıcaklığı geri yüklemeye yardımcı olacak işlemler yapmak için termal API kullanabilir. Örneğin, yayın uygulamaları çözünürlük/bit hızı veya ağ trafiğini azaltabilir, bir kamera uygulaması flaş veya yoğun görüntü geliştirmeyi devre dışı bırakabilir ya da bir oyun kare hızını veya poligon mozaiklemeyi azaltabilir. Buradan daha fazla bilgi edinebilirsiniz.

Herkese açık API'ler aracılığıyla uyumluluk

Android 10, SDK dışı arayüzlerdeki kısıtlamaları genişletmeye devam etmektedir. Bu nedenle, uygulamalar kademeli olarak yalnızca herkese açık API'leri kullanan arayüzlere doğru geçirilecektir. Şu anda kullandığınız bir arayüz kısıtlanmışsa bunun yerine bu arayüz için yeni bir herkese açık API isteğinde bulunabilirsiniz. Geçiş yapmanıza ve uygulamalarınızın çalışmasını engellemenize yardımcı olmak için kısıtlamaları yalnızca uygulamanız Android 10'u (API 29) hedeflediğinde etkinleştiriyoruz. Kısıtlamalar hakkında daha fazla bilgi için geliştirici kılavuzuna bakın.

Daha hızlı güncellemeler, daha yeni kod

Android 10, Android ile cihaz üreticilerinin ve silikon üreticilerinin altında yatan cihaz kodu arasında tutarlı ve test edilebilir bir arayüz sağlayan Project Treble aracılığıyla daha hızlı güncellemeler yapmak için tasarlanmıştır. Cihaz üreticileri, Treble sayesinde Android 10'u Treble uyumlu cihazlara daha hızlı ve daha düşük maliyetle sunabilir.

Android 10, Android kullanıcılarının güvenliğini sağlayan ve doğrudan Google Play'den önemli kod değişiklikleriyle cihazlarını güncel tutan yeni teknolojimiz Mainline Projesi'ni (resmi adı Google Play sistem güncellemeleri) destekleyen ilk sürümdür. Google Play sistem güncellemeleri sayesinde, Android 10 ve sonraki sürümleri çalıştıran tüm cihazlarda belirli dahili bileşenleri, cihaz üreticisinin tam sistem güncellemesine gerek kalmadan güncelleyebiliyoruz.

Geliştiriciler, Android 10'daki bu güncellemelerin cihazlar arasında platform uygulaması tutarlılığını artırmaya yardımcı olmasını ve zaman içinde daha fazla tek tiplik sağlayarak geliştirme ve test maliyetlerini azaltmasını bekleriz.

Başlayın

Android 10 ile ilgili tüm geliştirici kaynakları için developer.android.com/10 adresini ziyaret edin.