Uygulama paketi boyutu
Bu makalede, bir Xamarin. Android uygulama paketinin bileşen parçaları ve hata ayıklama sırasında geliştirme aşamaları sırasında verimli paket dağıtımı için kullanılabilecek ilişkili stratejiler incelenebilir.
Genel Bakış
Xamarin. Android, verimli bir hata ayıklama ve yayın dağıtımı işlemini sürdürirken paket boyutunu en aza indirmek için çeşitli mekanizmalar kullanır. Bu makalede, Xamarin. Android sürümüne ve hata ayıklama dağıtım iş akışına ve Xamarin. Android platformunun küçük uygulama paketleri oluşturup yayınlarız.
Yayın paketleri
Tam içerilen bir uygulamayı göndermek için, paketin uygulamayı, ilişkili kitaplıkları, içeriği, mono çalışma zamanını ve gerekli temel sınıf kitaplığı (BCL) derlemelerini içermesi gerekir. Örneğin, varsayılan "Merhaba Dünya" şablonunu alırız, tüm paket yapısının içeriği şöyle görünür:
15,8 MB, beğendiğimiz daha büyük bir indirme boyutudur. Bu sorun, uygulamanızı çalıştırmak için gereken birçok bileşeni sağlayan mscorlib, System ve mono. Android dahil olmak üzere BCL kitaplıklarıdır. Ancak, uygulamanızda kullanmadığınız işlevleri de sağlar, bu sayede bu bileşenleri hariç tutmak tercih edilebilir.
Dağıtım için bir uygulama oluştururken, uygulamayı inceleyen ve doğrudan kullanılmayan tüm kodları kaldıran bağlama olarak bilinen bir işlem yürütüyoruz. Bu işlem çöp toplamanın yığın tarafından ayrılan bellek için sağladığı işlevlere benzerdir. Ancak nesneler üzerinde çalıştırmak yerine, bağlama kodunuzun üzerinde çalışır. Örneğin, e-posta göndermek ve almak için System.dll bir bütün ad alanı vardır ancak uygulamanız bu işlevselliği kullanmıyorsa, bu kod yalnızca alan harcar. Merhaba Dünya uygulamasında bağlayıcı çalıştırıldıktan sonra, paketimiz şu şekilde görünür:
Gördüğünüz gibi, bu, kullanılmayan BCL 'nin önemli bir miktarını ortadan kaldırır. Son BCL boyutunun uygulamanın gerçekten tarafından ne olduğuna bağlı olduğunu unutmayın. Örneğin, Apıdemo adlı daha önemli bir örnek uygulamaya baktığımızda, Apıdemo 'nun Merhaba ' dan daha fazlasını kullandığından BCL bileşeninin boyutunun arttığı görüyoruz, dünya şunları yapar:

Burada gösterildiği gibi, uygulama paketinizin boyutu genellikle uygulamanız ve bağımlılıklarından daha büyük 2,9 MB olur.
Hata ayıklama paketleri
Hatalar hata ayıklama yapılarında biraz farklı şekilde işlenir. Bir cihaza tekrar tekrar dağıtım yaparken, uygulamanın mümkün olduğunca hızlı olması gerekir, bu nedenle hata ayıklama paketlerini boyut yerine dağıtım hızı için iyileştiririz.
Android 'in bir paket kopyalaması ve yüklenmesi görece yavaş olduğundan, paket boyutunun mümkün olduğunca küçük olmasını istiyoruz. Yukarıda anlatıldığı gibi, paket boyutunu en aza indirecek bir yol bağlayıcı aracılığıyla yapılır. Ancak, bağlama yavaştır ve genellikle yalnızca son dağıtımdan bu yana değiştirilen uygulamanın parçalarını dağıtmak istiyoruz. Bunu gerçekleştirmek için, uygulamamızı temel Xamarin. Android bileşenlerinden ayırdık.
Cihazda hata ayıklarken, paylaşılan çalışma zamanı ve paylaşılan platformadlı iki büyük paketi kopyalayacağız. Paylaşılan çalışma zamanı, paylaşılan platform Android API düzeyine özgü derlemeler içerdiğinde, mono çalışma zamanı ve BCL içerir:
Bu çekirdek bileşenlerin kopyalanması, yalnızca bir kez biraz zaman aldığı ve hata ayıklama modunda çalışan sonraki uygulamaların bunları kullanmasını sağlayan bir kez yapılır. Son olarak, küçük ve hızlı olan gerçek uygulamayı kopyalayacağız:

Hızlı derleme dağıtımı
Hızlı derleme dağıtımı derleme seçeneği, derleme yükleme paketinin boyutunu uygulamanın paketine dahil etmez, doğrudan cihaza yalnızca bir kez yükleyerek ve yalnızca son dağıtımdan bu yana değiştirilen dosyalar üzerine kopyalayarak, hata ayıklama yükleme paketinin boyutunu daha fazla azaltmak için kullanılabilir.
Hızlı derleme dağıtımınıetkinleştirmek için aşağıdakileri yapın:
Çözüm Gezgini Android Project sağ tıklayın ve seçenekler' i seçin.
Project seçenekleri iletişim kutusunda Android Build ' i seçin:

Paylaşılan mono çalışma zamanını kullan onay kutusunu ve hızlı derleme dağıtımı onay kutularını işaretleyin:

değişiklikleri kaydetmek ve Project seçenekleri iletişim kutusunu kapatmak için tamam düğmesine tıklayın.
Uygulamanın bir dahaki sefer hata ayıklama için derlenme sırasında, derlemeler doğrudan cihaza yüklenir (henüz oluşturulmadıklarında) ve daha küçük bir uygulama paketi (derlemeleri içermeyen) cihaza yüklenir. Bu, uygulama üzerinde yapılan değişikliklerin test için çalışır hale getirmek için gereken süreyi kısaltır.
Paylaşılan çalışma zamanı ve paylaşılan platformun uzun ilk dağıtımı sırasında, uygulamada her değişiklik yaptığımız her seferinde yeni sürümü hızla ve sorunsuz bir şekilde dağıtabilir ve bu sayede hızlı bir değişiklik/dağıtım/çalıştırma döngüsüyle bulunabilir.
Özet
Bu makalede Xamarin. Android sürüm ve hata ayıklama profili paketlemesi anlatılmaktadır. Ayrıca, mono için mono platformunun hata ayıklama ve geliştirme aşamaları sırasında verimli paket dağıtımını kolaylaştırmak için kullandığı stratejileri inceledik.


