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

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

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

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

这是一个好习惯吗?

4

3 回答 3

1

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

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

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

logcat 对 android 来说是一个有用的工具,如果你能追踪到异常在哪里,你就可以解决它,因为有泄漏的应用程序是不好的。或者它可能是一些大图像、文件或下载,我不知道是什么原因造成的。

一件事,如果你找到它,贴出你的 logcat,相关代码,我们可以帮助你。

于 2015-12-30T13:05:55.177 回答
1

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

于 2015-12-30T12:07:52.167 回答
1
Intent intent = new Intent(banana.this, super.class);
intent.putExtra("username1", username1_who_logged);
startActivity(intent);
finish();

您可以使用finish()方法而不是System.exit(1). Finish 可以关闭您当前的活动,但exit(1)方法关闭您的应用程序。

于 2015-12-30T12:08:38.643 回答