Android Studio:
Android bağlam sınıflarını statik alanlara yerleştirmeyin; bu bir bellek sızıntısıdır (ve ayrıca Anında Çalıştırmayı da bozar)
O halde 2 soru:
# 1 startService
Bağlam için statik değişken olmadan statik bir yöntemden a'yı nasıl çağırırsınız ?
# 2 Statik bir yöntemden (aynı) localBroadcast'i nasıl gönderirsiniz?
Örnekler:
public static void log(int iLogLevel, String sRequest, String sData) {
if(iLogLevel > 0) {
Intent intent = new Intent(mContext, LogService.class);
intent.putExtra("UPDATE_MAIN_ACTIVITY_VIEW", "UPDATE_MAIN_ACTIVITY_VIEW");
mContext.startService(intent);
}
}
veya
Intent intent = new Intent(MAIN_ACTIVITY_RECEIVER_INTENT);
intent.putExtra(MAIN_ACTIVITY_REQUEST_FOR_UPDATE, sRequest));
intent.putExtra(MAIN_ACTIVITY_DATA_FOR_VIEW, sData);
intent.putExtra(MAIN_ACTIVITY_LOG_LEVEL, iLogLevel);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Bunu kullanmadan yapmanın doğru yolu ne olabilir mContext
?
NOT: Sanırım asıl sorum, bağlamı çağıran yöntemin yaşadığı bir sınıfa nasıl geçireceğim olabilir.