Android Studio 3.5 Canary, Anında Çalıştırmanın yerine geçen "Değişiklikleri Uygula" özelliğini ekler

click fraud protection

Android Studio 3.5, popüler uygulama geliştirme aracının Anında Çalıştırma özelliğinin devamı olan Değişiklikleri Uygula'yı sunar.

Android Studio 3.5 (şu anda Canary ve Dev kanallarında) artık kod değişikliklerini uygulamanıza aktarmanın ve uygulamayı yeniden başlatmaya gerek kalmadan bunların etkilerini anında görmenin yeni bir yolunu sunuyor. Basitçe "Değişiklikleri Uygula" olarak adlandırılan bu özellik, önceki sürümlerindeki "Anında Çalıştırma" özelliğinin devamı niteliğindedir. Android Stüdyosu.

Google'ın Android Geliştiricileri Blogu Değişiklikleri Uygula hakkında şunları söylüyor:

Değişiklikleri Uygula, uygulamanızı yeniden başlatmadan ve bazı durumlarda geçerli etkinliği yeniden başlatmadan kod ve kaynak değişikliklerini çalışan uygulamanıza aktarmanıza olanak tanır. Değişiklikleri Uygula, Anında Çalıştırmayı yapı optimizasyonu için tamamen yeni bir yaklaşımla değiştirir. Değişiklikleri Uygula, oluşturma süresi sırasında APK'nızın bayt kodunu yeniden yazmak yerine, Android 8.0 (API düzeyi 26) veya üzeri sürümlerde desteklenen çalışma zamanı araçlarından yararlanarak sınıfları anında yeniden tanımlar.

Ayrıca Android Studio artık değişikliklerin Değişiklikleri Uygula ile uyumlu olmadığını tespit ettiğinde uygulamanızı veya etkinliğinizi yeniden başlatıp başlatmayacağınıza karar vermenizi isteyecek. Bu ekstra kontrol, Instant Run davranışına kıyasla size daha tutarlı ve öngörülebilir bir deneyim sağlamalıdır.

Blog yazısı, yeni işlevsellikteki bazı sınırlamaları listeleyerek devam ediyor. Örneğin, uygulamanızı test ettiğiniz cihazın en azından çalışıyor olması gerekir Android 8.0 Oreo (API Düzeyi 26) ve yine de uygulamanızın yeniden başlatılmasını gerektirecek belirli kod değişiklikleri var. "Anında Çalıştırma"da olduğu gibi, "Değişiklikleri Uygula" seçeneği aşağıdaki durumlarda uygulamanızı yeniden başlamaya zorlar:

  • Sınıf, yöntem veya alan ekleme veya silme
  • Manifesto'yu değiştirme
  • Yöntem imzalarını değiştirme
  • Yöntemlerin veya sınıfların değiştiricilerini değiştirme
  • Sınıfları yeniden adlandırma
  • Sınıf mirasını değiştirme
  • Kaynak ekleme veya kaldırma

Blog gönderisinde, "Bilinen Sorunlar" altında, Google'ın başlangıçta bu yeni özellikte performanstan ziyade istikrara öncelik vermesi nedeniyle bazen "Değişiklikleri Uygula" seçeneğinin çalışacağı belirtiliyor önceki özelliği "Anında Çalıştır"dan daha yavaş. Ayrıca, x86_x64 öykünücü görüntüleri desteklenmez ve hata ayıklama amacıyla yalnızca Android Pie (API Düzeyi 28) desteklenir desteklendi. Sınırlamaların ve bilinen sorunların tam listesini aşağıdaki kaynak bağlantısında görebilirsiniz.

"Değişiklikleri Uygula" ve "Anında Çalıştır" arasındaki farkın daha ayrıntılı bir açıklaması için Android Studio ekibinden bir Google çalışanı şunu söylemişti: Reddit:

Çok ama çok farklı bir şey yapıyor. Instant Run'ın derleme üzerinde çok özel bir etkisi oldu; sınıflarınızın her birini derleme zamanında düzenleyerek çalışma zamanı sırasında sınıfın yeni bir sürümüyle değiştirilmeye hazırladılar. Ayrıca uygulamanızı daha aşamalı olarak yeniden yüklemek için APK'nızı birkaç APK'ya böler.

Değişiklikleri Uygula buna benzer bir şey yapmaz. Değişiklikleri Uygula'yı kullansanız da kullanmasanız da APK'nız hemen hemen aynıdır. Bunun yerine, sınıfları dinamik olarak yeniden yüklemek ve uygulama çalışırken bunları değiştirmek için ART VM'nin yeni çalışma zamanı enstrümantasyon yeteneklerine güvenir. Bu yüzden Android'in çok daha yeni sürümlerine ihtiyaç duyuyor.

Google'ın performansı ve kararlılığı konusunda iyileştirmeler yapması nedeniyle, "Değişiklikleri Uygula" seçeneğinin sonunda Beta ve Mevcut Ürün kanallarında "Anında Çalıştırma"nın yerini alması bekleniyor.


Kaynak: Android Geliştiricileri Blogu