应用越来越空接近我有一个类定义为实例的Java类没有在安卓
public class ApiManager
{
private static ApiManager mInstance;
public static synchronized ApiManager getInstance()
{
return mInstance;
}
public ApiManager(Context mContext)
{
this.mContext = mContext;
mInstance = this;
}
}
我SplashActivity被定义为
public class SplashActivity extends BaseActivity
{
private String gcmRegId;
private GoogleCloudMessaging gcm;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancelAll();
try {
if(ApiManager.getInstance() != null)
{
/* Activity already present. We need to move to main activity */
finish();
Intent i = new Intent(this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
return;
}
}
catch (Exception e1)
{
}
我的MainActivity的onDestroy被定义为
@Override
public void onBackPressed()
{
if(isFullScreen)
{
animateFullScreenClose();
if (mainMapFragment.postLayout.getVisibility() == View.VISIBLE)
mainMapFragment.closePinDetails();
}
else
{
MyApplication.getInstance().disconnectGoogleApi();
SocketManager.getInstance().closeConnection();
finish();
MyApplication.getInstance().stopService();
}
}
}
当我按下后退按钮。一切都应该停止。应用程序关闭。
然而,当我再次在Android上使用主菜单启动器图标打开应用程序,if(ApiManager.getInstance() != null)
没有考虑到为空,而不是飞溅我结束了在mainActivity,
为什么ApiManager.getInstance()
不为空,如果应用程序被关闭。
当你按下返回按钮,你的应用程序进入onPause(),它不会停止。 –
因为你从未将它设置为null? – immibis
@immibis我的问题是,当应用程序关闭时,为什么它们不会为空。 –