Android 10, üç önemli tema etrafında oluşturulmuştur. İlk olarak, Android 10 gelişmiş makine öğrenimi ve katlanabilir cihazlar ile 5G özellikli telefonlar gibi yeni cihazlara yönelik destekle mobil inovasyonun öncüsü oluyor. Ayrıca Android 10, gizlilik ve güvenliğe odaklanarak kullanıcılara daha fazla koruma, şeffaflık ve kontrol sağlayan yaklaşık 50 özellik sunuyor. Son olarak, Android 10 kullanıcıların dijital denge kontrollerini genişleterek bireylerin ve ailelerin teknolojiyle daha iyi bir denge kurmasını sağlar.
Android 10'da geliştiriciler için sunulan özelliklere ve bunları hemen nasıl kullanabileceğinize göz atın.
Yenilik ve yeni deneyimler
Android 10 ile en yeni donanım ve yazılım yeniliklerinden yararlanarak kullanıcılar için muhteşem uygulama deneyimleri oluşturabilirsiniz.
Android 10 ile uygulamalarınızı katlanabilir cihazlar ve diğer büyük ekranlı cihazlar için optimize edebilirsiniz.
Katlanabilir cihazlar
Android 10, güçlü çoklu pencere desteğini temel alarak uygulama pencereleri arasında çoklu görev yapma imkanı sunar ve cihaz katlandığında veya açıldığında uygulamanızın durumunu korumak için ekran sürekliliği sağlar. Android 10, çoklu devam ettirmeyi desteklemek ve odaklandığında uygulamanızı bilgilendirmek için onResume ve onPause'da çeşitli iyileştirmeler ekler. Ayrıca, uygulamanızın katlanabilir ve büyük ekranlarda nasıl görüntüleneceğini yönetmenize yardımcı olmak için resizeableActivity manifest özelliğinin çalışma şeklini de değiştirir. Katlanabilir cihazlar için uygulama geliştirmenize yardımcı olması amacıyla Android Studio'da katlanabilir emülatörü sanal cihaz (AVD) olarak yapılandırabilirsiniz. Uygulamalarınızı katlanabilir cihazlar için optimize etme hakkında ayrıntılı bilgi için geliştirici kılavuzuna bakın.
5G ağları
5G, sürekli olarak daha yüksek hızlar ve daha düşük gecikme süresi sunmayı vaat eder. 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 tarifeli olup olmadığını kontrol etmek için bağlantı API'lerini kullanabilirsiniz. Bu sayede uygulamalarınız ve oyunlarınız, 5G üzerinden kullanıcılara zengin ve etkileyici deneyimler sunabilir.
Bildirimlerde Akıllı Yanıt
Android 10, bildirimlerde bağlamsal işlemler önermek için cihaz üzerinde makine öğrenimini kullanır. Mesajlar için akıllı yanıtlar veya bildirimdeki bir adres için harita açma gibi işlemler buna örnek verilebilir. 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. Dilerseniz kendi yanıtlarınızı ve işlemlerinizi de sağlayabilirsiniz. setAllowGeneratedReplies() ve setAllowSystemGeneratedContextualActions() yöntemlerini kullanarak Akıllı Yanıt'ı bildirim bazında devre dışı bırakmanız yeterlidir.
Akıllı Yanıt, bildirim içeriğine göre işlemler önerebilir.
Koyu Tema
Android 10, sistem genelinde koyu tema sunar. Bu tema, düşük ışıkta kullanım için idealdir ve pil tasarrufu sağlar. Kullanıcılar, Ayarlar'a giderek veya Pil Tasarrufu'nu açarak sistem genelinde yeni bir koyu temayı etkinleştirebilir. Bu işlem, sistem kullanıcı arayüzünü koyu temaya geçirir ve koyu temayı destekleyen uygulamalarda 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 mod özelliğini etkinleştirebilirsiniz. Android'in önceki sürümlerini kullanan kullanıcılara koyu tema sunmak için AppCompat'in DayNight özelliğinden de yararlanabilirsiniz. Daha fazla bilgi için geliştirici kılavuzuna bakın.
Android 10, zorunlu koyu mod ile uygulamanız için dinamik olarak koyu tema oluşturabilir.
Hareketle gezinme
Hareketle gezinme, uygulamalara içerik için tam ekran sağlar.
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 hareketle gezinme modunu sunar. Görünür düğmeler yerine kenar kaydırma hareketleriyle tanıdık Geri, Ana Sayfa ve Son Kullanılanlar gezinme özelliklerini korur. Hareketle gezinme ile sorunsuz bir şekilde uyum sağlamak için uygulamanız uçtan uca olmalı ve gezinme çubuğunun arkasına çizim yaparak sürükleyici bir deneyim sunmalıdır. Bunu uygulamak için uygulamalar, tam ekran olarak düzenlenmek üzere setSystemUiVisibility() API'yi kullanmalı ve ardından kullanıcı arayüzünün önemli parçalarının gizlenmediğinden emin olmak için WindowInsets'i uygun şekilde işlemelidir. Uygulamanızı optimize etmeye hemen başlayın ve daha fazla bilgi için blog yayını serimize göz atın.
Ayarlar Panelleri
Yeni Settings Panel API sayesinde artık önemli sistem ayarlarını doğrudan uygulamanızın bağlamında gösterebilirsiniz. Ayarlar paneli, kullanıcıların ihtiyaç duyabileceği internet bağlantısı, NFC ve ses düzeyi gibi ayarları göstermek için çağırdığınız kayan bir kullanıcı arayüzüdür. Örneğin, bir tarayıcı; uçak modu, kablosuz ağ (yakındaki ağlar dahil) ve mobil veri gibi bağlantı ayarlarını içeren bir panel gösterebilir. Ayarlar panelini görüntülemek için yeni Settings.Panel işlemlerinden biriyle bir intent tetiklemeniz yeterlidir.
Paylaşım kısayolları
Paylaşım kısayolları, paylaşımı daha hızlı ve kolay hale getirerek kullanıcıların içerik paylaşmak için doğrudan başka bir uygulamaya geçmesine olanak tanır. Geliştiriciler, uygulamalarında içerik eklenmiş belirli bir etkinliği başlatan paylaşım hedefleri yayınlayabilir. Bunlar, paylaşım kullanıcı arayüzünde kullanıcılara gösterilir. Önceden yayınlandıkları için paylaşım kullanıcı arayüzü başlatı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 içerik eklenmiş olarak doğrudan uygulamalarınızdaki belirli bir etkinliğe geçmesine olanak tanır.
Kullanıcılar için gizlilik
Android 10'da gizlilik, platformdaki daha güçlü korumalardan gizlilik odaklı tasarlanmış yeni özelliklere kadar her alanda odak noktasıdır. Önceki sürümlerden yola çıkan 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 iyileştirilmiş sistem kullanıcı arayüzü, daha katı izinler ve uygulamaların kullanabileceği verilerle ilgili kısıtlamalar yer alır. Uygulamalarınızda bunları nasıl destekleyeceğinizle ilgili ayrıntılar için gizlilik değişikliklerine bakı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 imkanı sunma: Kullanıcılar, yeni bir izin seçeneği sayesinde konum verileri üzerinde daha fazla kontrol sahibi olur. Artık bir uygulamanın konuma yalnızca uygulama 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ı taramak için kullanılan API'lerin çoğu, yaklaşık konum izni gerektirir. Android 10, bu API'lerle ilgili korumayı artırmak için tam konum izni gerektirir.
Cihaz takibini önleme: Uygulamalar artık cihaz IMEI'si, seri numarası ve benzer tanımlayıcılar dahil olmak üzere takip 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ğlandığında rastgele oluşturulur. Kullanım alanınıza uygun tanımlayıcıları seçmenize yardımcı olacak en iyi uygulamaları okuyun ve ayrıntıları buradan inceleyin.
Harici depolama alanındaki kullanıcı verilerinin güvenliğini sağlama: Android 10, kullanıcılara harici depolama alanındaki dosyalar ve bu dosyalardaki uygulama verileri üzerinde daha fazla kontrol olanağı sunmak için bir dizi değişiklik getirir. Uygulamalar kendi dosyalarını özel korumalı alanlarında depolayabilir 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çicisini kullanmalıdır. Daha fazla bilgiyi burada bulabilirsiniz.
İstenmeyen kesintileri engelleme: Android 10, arka planda başlatılan uygulamaların beklenmedik şekilde ön plana geçmesini ve başka bir uygulamanın odağını devralmasını engeller. Buradan daha fazla bilgi edinebilirsiniz.
Güvenlik
Android 10, şifreleme, platformu güçlendirme ve kimlik doğrulama alanlarındaki gelişmelerle 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 bilgiyi burada bulabilirsiniz.
Depolama alanı şifreleme: Android 10 ile piyasaya sürülen tüm uyumlu cihazların kullanıcı verilerini şifrelemesi gerekir. Android 10, bu işlemi daha verimli hale getirmek için yeni şifreleme modumuz olan Adiantum'u içerir.
Varsayılan olarak TLS 1.3: Android 10, varsayılan olarak TLS 1.3'ü de etkinleştirir. Bu, TLS standardında performans avantajları ve gelişmiş güvenlik sunan önemli bir düzeltmedir.
Platformu güçlendirme: Android 10, platformun güvenlik açısından kritik birkaç alanını güçlendirme özelliğini de içerir.
Geliştirilmiş Biyometri: Android 10, BiometricPrompt çerçevesini yüz gibi pasif kimlik doğrulama yöntemlerini destekleyecek şekilde genişletir ve örtük ve açık kimlik doğrulama akışları ekler. Açık akışta, kullanıcının kimlik doğrulama sırasında TEE'deki işlemi açıkça onaylaması gerekir. Dolaylı akış, pasif kimlik doğrulama içeren işlemler için daha basit 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 alakalı XMP meta verileri ve aynı dosyaya yerleştirilmiş bir derinlik ve güven haritasından oluşan Dinamik Derinlik resmi isteyebilir. Bu sayede uygulamanızda özel bulanıklaştırma ve bokeh seçenekleri sunabilirsiniz. Dinamik Derinlik, ekosistem için açık bir biçimdir. Bu özelliği Android 10 ve sonraki sürümleri çalıştıran cihazlara getirmek için iş ortaklarımızla birlikte çalışıyoruz.
Dinamik Derinlik görüntüsüyle 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ışını yakalamasına izin verebilir. API, altyazı ve alt yazı eklemenin yanı sıra canlı oyun yayını gibi popüler kullanım alanlarını desteklemenize olanak tanır. Bu yeni özelliği gizlilik ve telif hakkı korumasını göz önünde bulundurarak geliştirdik. Bu nedenle, bir uygulamanın başka bir uygulamanın sesini kaydetme özelliği kısıtlanmıştır. Böylece uygulamalar, ses akışlarının kaydedilip kaydedilemeyeceği konusunda tam kontrole sahip olur. Daha fazla bilgi için bu blog yayınını okuyun.
Yeni ses ve video codec'leri
Android 10, medya sağlayıcıların Android cihazlara daha az bant genişliği kullanarak yüksek kaliteli video içeriği akışı yapmasına olanak tanıyan açık kaynaklı video codec'i AV1 için destek ekler. Ayrıca Android 10, konuşma ve müzik akışı için optimize edilmiş açık, telifsiz bir codec olan Opus'u kullanarak ses kodlamayı ve destekleyen cihazlarda yüksek dinamik aralıklı video için HDR10+'ı destekler. MediaCodecInfo API, Android cihazların video oluşturma özelliklerini belirlemenin daha kolay bir yolunu sunar. Herhangi bir codec için desteklenen boyutların ve kare hızlarının listesini alabilirsiniz.
Yerel MIDI API'si
Android 10, ses işleme işlemlerini C++ dilinde gerçekleştiren uygulamalar için NDK aracılığıyla MIDI cihazlarıyla iletişim kurmak üzere yerel bir MIDI API sunar. Bu API, MIDI verilerinin engelleme okuması kullanılarak ses geri çağırma işlevinde alınmasına olanak tanır. Böylece MIDI mesajları düşük gecikmeyle işlenebilir. Örnek uygulama ve kaynak koduyla deneyin.
Yönlü, yakınlaştırılabilir mikrofonlar
Android 10, yeni bir MicrophoneDirection API aracılığıyla ses yakalama üzerinde daha fazla kontrol sahibi olmanızı sağlar. Ses kaydı yaparken 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 etmek için standart bir yöntem sunarak uygulamanızın kayıt alanı boyutu üzerinde kontrol sahibi olmasını sağlar.
Her yerde Vulkan
Android 10, yüksek performanslı 3D grafikler için düşük ek yük içeren, platformlar arası API uygulamamız ile 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ği konusunda ö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 kullanımın daha da artmasını bekliyoruz.
Bağlantı
Gelişmiş eşler arası ve internet bağlantısı
Gizliliği ve performansı iyileştirmek, ayrıca IoT cihazlarını yönetme ve internet bağlantıları önerme gibi yaygın kullanım alanlarını konum izni gerektirmeden iyileştirmek için kablosuz ağ yığınını 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 tercih edilen kablosuz ağları kullanıcıya göstermesine olanak tanır.
Kablosuz performans modları
Uygulamalar artık yüksek performans ve düşük gecikme modlarını etkinleştirerek uyarlanabilir kablosuz bağlantı isteyebilir.
Bu özellikler, gerçek zamanlı oyunlar, aktif sesli aramalar ve benzer kullanım alanları gibi düşük gecikme süresinin kullanıcı deneyimi açısından önemli olduğu durumlarda büyük fayda sağlayabilir. Platform, en düşük güç tüketimiyle gereksinimi karşılamak için cihaz donanım yazılımıyla birlikte çalışır. Yeni performans modlarını kullanmak için WIFI_MODE_FULL_LOW_LATENCY veya WIFI_MODE_FULL_HIGH_PERF ile WifiManager.WifiLock.createWifiLock() yöntemini çağırın. Bu modlarda platform, en düşük güç tüketimiyle gereksinimi karşılamak için cihaz donanım yazılımıyla birlikte çalışır.
Android'in temelleri
ART optimizasyonları
ART çalışma zamanındaki iyileştirmeler, uygulamalarınızın daha hızlı başlamasına, daha az bellek tüketmesine ve daha sorunsuz çalışmasına yardımcı olur. Bunun için herhangi bir işlem yapmanız gerekmez. Google Play tarafından sunulan ART profilleri, ART'nin uygulamanızın bazı bölümlerini çalıştırılmadan önce önceden derlemesine olanak tanır. Android 10, çalışma zamanında ART'nin Eşzamanlı Kopyalama (CC) Çöp Toplayıcısı'na Nesil Çöp Toplama özelliğini ekler. Bu sayede çöp toplama işlemi zaman ve CPU açısından daha verimli hale gelir, takılmalar azalır ve uygulamalar daha düşük özellikli cihazlarda daha iyi çalışır.
Bu grafik, belirli uygulamaların Play profilleri kullanılarak test edildiğinde başlatma süresindeki iyileşme yüzdesini gösterir.
Neural Networks API 1.2
ARGMAX, ARGMIN, kuantize LSTM gibi 60 yeni işlem ekledik ve çeşitli performans optimizasyonları yaptık. Bu sayede, nesne algılama ve görüntü segmentasyonu gibi çok daha geniş bir model yelpazesini hızlandırmanın temeli atılır. 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 çalışıyoruz.
Thermal API
Cihazlar çok ısındığında CPU ve/veya GPU'yu kısıtlayabilir. Bu durum, uygulamaları ve oyunları beklenmedik şekillerde etkileyebilir. Android 10'da uygulamalar ve oyunlar, cihazdaki değişiklikleri izlemek ve normal sıcaklığın geri kazanılmasına yardımcı olmak için termal API kullanabilir. Örneğin, yayın uygulamaları çözünürlüğü/bit hızını veya ağ trafiğini azaltabilir, kamera uygulamaları flaşı ya da yoğun görüntü iyileştirmeyi devre dışı bırakabilir, oyunlar ise 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 olmayan arayüzlerdeki kısıtlamaları genişletmeye devam ederek uygulamaların kademeli olarak yalnızca herkese açık API'leri kullanmaya geçmesini sağlar. Ş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 isteyebilirsiniz. Geçiş yapmanıza yardımcı olmak ve uygulamalarınızın bozulmasını önlemek 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 kodlar
Android 10, Treble Projesi aracılığıyla daha hızlı güncellemeler için tasarlanmıştır. Bu proje, Android ile cihaz üreticileri ve silikon üreticilerinin temel cihaz kodu arasında tutarlı, test edilebilir bir arayüz sağlar. Treble sayesinde cihaz üreticileri, 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ğlamak ve cihazlarını önemli kod değişiklikleriyle güncel tutmak için yeni teknolojimiz olan Project Mainline'ı (resmi adıyla Google Play sistem güncellemeleri) destekleyen ilk sürümdür. Bu güncellemeler doğrudan Google Play'den alınır. Google Play sistem güncellemeleri sayesinde, cihaz üreticisinin tam sistem güncellemesi yapmasına gerek kalmadan Android 10 ve sonraki sürümleri çalıştıran tüm cihazlarda belirli dahili bileşenleri güncelleyebiliyoruz.
Android 10'daki bu güncellemelerin, geliştiriciler için platform uygulamasının cihazlar genelinde tutarlılığını artıracağını ve zaman içinde daha fazla tekdüzelik sağlayarak geliştirme ve test maliyetlerinizi azaltacağını umuyoruz.
Başlayın
Android 10 ile ilgili tüm geliştirici kaynakları için developer.android.com/10 adresini ziyaret edin.
