我想听听其他关于使用以下方法从其他 Activity 或服务确定 Activity 是否可见的其他意见:该方法是关于使用静态 boolean
作为标志,哪些值取决于 Activity 生命周期。
我已经实现了这个解决方案,它似乎工作正常。但是我怀疑这是否是一个可靠的解决方案,因为据我所知, Activity 生命周期包含在该 Activity 类的一个实例中,但静态方法或字段适用于所有实例。对于 Activity ,需要确定可见性状态,我使用了 singleTask
启动模式,因此不应超过一个实例。
考虑到这一点,假设静态 bool 值将 100% 代表我的 Activity 的实际状态是否安全?
最佳答案
当然,您可以使用静态 bool 标志。但是,如果您有更多选项,那么我建议改用 enum
。
如果您的应用程序有超过 2 个 Activity,使用 bool 值只会导致难以维护。
因此,为了清晰的代码,请使用枚举标志,例如:
public enum EActivityState{
UNKNOWN,
VISIBLE,
NOT_VISIBLE,
LAUNCHED,
// ....
}
可以使用后:
private EActivityState mActivityState = EActivityState.UNKNOWN;
....
if(EActivityState.LAUNCHED == mActivityState ){
// do something
}
关于Android 使用静态 bool 值作为标志来确定 Activity 是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258829/