安卓工作室:
不要将 Android 上下文类放在静态字段中;这是内存泄漏(也破坏了即时运行)
所以 2 个问题:
#1 如何在startService
没有上下文的静态变量的情况下从静态方法调用 a?
#2 如何从静态方法(相同)发送 localBroadcast?
例子:
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);
}
}
或者
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);
不使用的正确方法是什么mContext
?
注意:我认为我的主要问题可能是如何将上下文传递给调用方法所在的类。