Hepimizin bildiği gibi, birçok Android uygulaması, ilk Activity
odaklanmadan önce çok kısa bir süre beyaz bir ekran görüntüler . Bu sorun aşağıdaki durumlarda görülür:
Global
Application
sınıfı genişleten ve burada büyük başlatmalar gerçekleştiren Android uygulamaları .Application
Nesne daima ilk önce oluşturulanActivity
bu mantıklı, (ayıklayıcısında görülebilir bir gerçektir). Benim durumumdaki gecikmenin nedeni budur.Açılış ekranından önce varsayılan önizleme penceresini görüntüleyen Android uygulamaları.
Belli android:windowDisablePreview = "true"
ki ayar burada işe yaramıyor. Açılış ekranımın ana temasını buradaTheme.Holo.NoActionBar
açıklandığı gibi ayarlayamıyorum , çünkü [maalesef] açılış ekranım bir .ActionBar
Bu arada, uzatmaz uygulamalar Application
sınıfını yok açılışta beyaz ekranı gösterir.
Mesele şu ki, ideal olarak, Application
nesnede gerçekleştirilen ilklendirmelerin , ilk gösterilmeden önce gerçekleşmesi gerekir Activity
. Sorum şu Yani, nasıl uygulama başlangıçta bu başlatmalarını gerçekleştirebilirsiniz olmadan bir kullanarak Application
nesneyi? Muhtemelen Thread
veya kullanıyor Service
, sanırım?
Bu, üzerinde düşünülmesi ilginç bir sorundur. NoActionBar
Trajik bir şekilde, açılış ekranımın aslında ActionBar
bazı ilgisiz nedenlerden dolayı bir nedeni olduğu için, olağan yolu ( temayı ayarlayarak ) atlayamıyorum .
Not:
Şu sorulara zaten değindim:
Referanslar:
Application
sınıfın dışına taşıdıktan sonra bunun hala bir sorun olduğunu fark edebilirsiniz . Bunun nedeni, Android'in uygulamaları "soğuk başlatma" yönteminin daha yeni sürümleridir. Google aslında bu yıl Google I / O'daki lansman zamanlarını ele aldı ve hatırladığım kadarıyla bu sorun N olarak düzeltilecek. Bu arada, Google'ın "markalı başlatma ekranı" dediği şeye bakmalısınız. İşte nasıl oluşturulacağına dair bir örnek: antonioleiva.com/branded-launch-screen - başlangıçta artık beyaz ekran yok ;-) Ve lütfen açılış ekranı kullanmayın - bu kullanıcı için can sıkıcı.