我需要测试它是否IntentService
正在运行并创建了static
方法isInstanceCreated()
。它会在您看到真假时返回。
我正在努力了解会发生什么希望你能关注我。
现在,如果:
1-我isInstanceCreated()
从一个BroadcastReceiver
关于 GC 的电话(我的想法是BroadcastReceiver
完成并有资格获得 GC,IntentService
也有资格获得 GC)
2-如果我isInstanceCreated()
从Application
课堂上打电话给GC(我的想法是IntentService
Android杀死应用程序时的GC)
3-静态类方法的访问器将持有引用的东西..???
4-我知道静态最终字段是由编译器硬编码的,并且在访问静态最终字段时,类中的静态内容(如静态块和字段)永远不会加载。但是当我调用时,这里会发生什么isInstanceCreated()
,静态的东西是从右上角加载到右下角的,因为它是写在代码中的。但是当我调用isInstanceCreated()
. 当我用New
orclass.forname
实例化类并创建实例并为孔类分配内存时。当我调用isInstanceCreated()
时,整个类也占用了内存(当然,没有人可以访问非静态的东西,因为它需要先实例化)。希望你按照我的学习曲线,可以给出一些答案。
public class MyIntentService extends IntentService {
private static boolean stopNow;
private Integer someInt = 10;
private static MyIntentService instance = null;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public MyIntentService() {
super("MyIntentService");
}
public static boolean isInstanceCreated(){
return instance != null;
}
@Override
protected void onHandleIntent(Intent intent) {
}
public boolean someMethod(){
{
// much more methods
}