使用system.exit(1)的意图 - 这是一个好习惯吗?

时间:2015-12-30 12:01:12

标签: android android-intent systemexit

Intent intent = new Intent(banana.this, super.class);
        intent.putExtra("username1", username1_who_logged);
        startActivity(intent);
        System.exit(1);

我有outOfMemory错误所以我用上面的代码解决了它。

这样做是好的做法吗?我仍然需要传递一些数据,这些数据来自“额外”的意图。

我几乎擦除或转储整个系统的东西(虽然不知道我对system.exit(1)做了什么!

这是一个好习惯吗?

3 个答案:

答案 0 :(得分:1)

关闭应用的常用方法是调用finish()而不是System.exit

答案 1 :(得分:1)

Intent intent = new Intent(banana.this, super.class);
intent.putExtra("username1", username1_who_logged);
startActivity(intent);
finish();

您可以使用finish()方法代替System.exit(1)。     完成可以关闭当前活动,但exit(1)方法关闭您的应用程序。

答案 2 :(得分:1)

这是一个非常糟糕的主意,我强烈建议你不要这样做。

使用logcat跟踪发生outOfMemory异常的位置。关闭活动将没有任何区别,除非它关闭你的应用程序。在应用程序停止运行之前,操作系统不会恢复资源。另外请记住,许多安卓设备的内存不长,因此管理资源非常重要,这通常是一个很好的编程规则。

因此,为了使您的应用程序正常运行,您将需要强制关闭它,这不起作用(如果这是有意义的)。这不是一个合乎逻辑或可行的解决方案。

logcat对于android来说是一个很有用的工具,如果你可以追踪异常的位置,你可以解决它,因为它有漏洞的应用程序是不好的。或者它可能是一些大图像,文件或下载,我不知道是什么导致它。

有一件事,就是如果你找到它,发布你的logcat,相关的代码,我们可以帮助你。