Etkinlik ve Bağlam aynı mı yoksa farklılıklar var mı?
Bir yönteme ne zaman bir Aktivite geçirmeliyim ve bir Bağlam ne zaman?
Etkinlik ve Bağlam aynı mı yoksa farklılıklar var mı?
Bir yönteme ne zaman bir Aktivite geçirmeliyim ve bir Bağlam ne zaman?
Yanıtlar:
Anladığım kadarıyla:
Bağlam Temel Nesnedir. Dolayısıyla , Uygulama ile aynı olan her Etkinlik , Bağlamdan türetilir. Bu, her Faaliyetin ve her Faaliyetin a ;Application
Context
Gönderen developer.android.com
Faaliyet
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
Ve Uygulama
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
Bir Uygulama bağlamı, uygulamanız canlı olduğu sürece devam ederken, Aktivite bağlamı Aktiviteniz ile birlikte ölür (bu Aktiviteden sonra geçerli değildir onDestroy
).
Dolayısıyla, Aktiviteler Arası Bağlama ihtiyacınız varsa (yani, bir Tekil olarak) bir Uygulama bağlamı kullanmanız daha iyi olacaktır.
Genellikle bir bağlamın beklendiği Android Framework yöntemlerinde, hangisini geçtiğinizin hiçbir önemi yoktur. Ancak, bir Bağlama Yönelik Uzun Ömürlü Referanslar tutuyorsanız her zaman MemoryLeaks'in farkında olun
Android belgesinde görebileceğiniz gibi :
Activity sınıfı "ContextThemeWrapper" dan ve bu "ContextWrapper" dan ve "Context" ten genişler.
Yani, evet, Bir Etkinlik Bağlamı genişletir!