getApplicationContext (), getBaseContext (), getApplication (), getParent ()


Yanıtlar:


33

getApplicationContext() Uygulama bağlamı Uygulama ile ilişkilidir ve yaşam döngüsü boyunca her zaman aynı olacaktır.

getBasecontext()kullanılmamalıdır, Contextbunun yerine sadece faaliyetle ilişkili olan ve faaliyet yok edildiğinde yok edilebilecek olanı kullanın.


16
peki ya getApplication () ve getParent ()
Nikunj Patel

107

getApplicationContext () Uygulama bağlamı Başvuru ile ilişkilendirilir ve yaşam döngüsü boyunca her zaman aynı olacaktır.

getBasecontext () kullanılmamalıdır, bunun yerine etkinlikle ilişkili olan ve etkinlik yok edildiğinde yok edilebilecek Bağlamı kullanın.

getApplication () yalnızca Etkinlik ve Hizmetler için kullanılabilir. Geçerli Android Activity and Service uygulamalarında getApplication () ve getApplicationContext () aynı nesneyi döndürse de, durumun her zaman böyle olacağına dair bir garanti yoktur (örneğin, belirli bir satıcı uygulamasında). Bu nedenle, Manifest'e kaydettiğiniz Application sınıfını istiyorsanız, getApplicationContext () öğesini asla çağırmamalı ve bunu uygulamanıza aktarmamalısınız , çünkü bu uygulama örneği olmayabilir (açıkça test çerçevesiyle deneyimlediğiniz).

getParent () , geçerli görünüm bir alt öğe ise, etkinliğin nesnesini döndürür .. Diğer bir deyişle, alt öğe içinde çağrıldığında alt görünümü barındıran etkinlik nesnesini döndürür.


16
Bahsettiğiniz gibi getBaseContext () kullanmamalıyız, çok önemli değilse neden kodlamada ve temel avantajları nelerdir? lütfen beni bu konuda detaylandırın
Pir Fahim Shah

getBaseContext () çok özel durumlarda kullanılmalıdır. Burada çok güzel bir açıklama var - medium.com/@ali.muzaffar/…
lomza
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.