`
lxcaoxin
  • 浏览: 127336 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

finish()跟System.exit(0)的区别

阅读更多
    Activity是有生命周期的,onCreate,onStart,onResume,onPause,onStop,onDestroy...
    finish是Activity的方法,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;
    当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。
    其实android的机制决定了用户无法完全退出应用,当你的application最长时间没有被用过的时候,android自身会决定将application关闭了。
   要退出还可以这样:
]ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
    am.restartPackage(getPackageName());

但记得在Androidmanifest.xml里添加权限

<uses-permission Android:name="android.permission.RESTART_PACKAGES"></uses-permission>
分享到:
评论
2 楼 lxcaoxin 2011-12-14  
夜色蓝 写道
那就是因为Activity只是退到了后台,所以finish()方法后面的命令依然会执行了 ?

不是这样理解的,只是关闭了当前的Activity,但还保存在内存中
1 楼 夜色蓝 2011-12-14  
那就是因为Activity只是退到了后台,所以finish()方法后面的命令依然会执行了 ?

相关推荐

    怎样完全退出android程序

    在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序...

    exit结束activity

    描述中提到的"exit"通常指的是强制退出整个应用程序,这通常是通过调用`System.exit(0)`来实现的。这种方法会立即结束应用程序进程,不再执行任何Java代码,包括没有被清理的资源。与`finish()`不同,`System.exit...

    利用Android两行代码真正杀死你的App

    通常情况下,结合使用`finishAll()`和`System.exit(0)`可以达到预期效果,因为`finishAll()`确保所有Activity都被关闭,随后`System.exit(0)`结束进程。然而,这种方式并不推荐,因为用户可能希望App在后台继续运行...

    javafx-8u152-apidocs-api

    A JavaFX Application should not attempt to use JavaFX after the FX toolkit has terminated or from a ShutdownHook, that is, after the stop() method returns or System.exit(int) is called.

    Android 完全退出当前应用程序的四种方法

    首先获取当前进程的PID(Process ID),然后使用`killProcess()`方法杀死进程,最后使用`System.exit(0)`确保Java虚拟机正常关闭。这种方法虽然直接,但可能会影响其他正在运行的组件和服务。 ```java android.os...

    安卓开发-返回键退出程序的两种方式.zip

    1. **谨慎使用System.exit(0)**:一般情况下,不建议使用`System.exit(0)`来强制退出应用程序,因为这可能会导致数据丢失,而且Android系统会管理应用的生命周期,正常情况下应该由系统决定何时销毁应用程序。...

    基于Android的完全退出程序的方法.zip

    为了确保应用完全退出,可以在主Activity的onDestroy()方法中添加对System.exit(0)的调用,但这种方法并不推荐,因为它可能干扰Android系统的正常工作。 2. **使用Intent的FLAG_ACTIVITY_CLEAR_TOP**:在需要退出时...

    如何完全退出程序

    通常,开发者会尝试使用`finish()`、`System.exit(0)`或`android.os.Process.killProcess(android.os.Process.myPid())`等方法来关闭应用,但这些方法往往只能结束当前活动的Activity,而无法彻底关闭整个应用,因为...

    退出整个应用程序

    当需要退出时,遍历该列表并调用每个Activity的`finish()`方法来关闭它们,并最终调用`System.exit(0)`来结束进程。 #### 代码详解 ##### SysApplication 类 ```java public class SysApplication extends ...

    分析如何安全退出多个Activity 多种方式

    当用户在某个Activity执行了特定操作(如点击返回按钮)或者开发者在代码中触发该动作时,可以调用`finish()`。这会将当前Activity从栈顶移除,将其实例销毁,如果栈内没有其他Activity,应用将会退出。 二、利用...

    android完美退出app的实例代码.pdf

    这将遍历并结束列表中的所有Activity,然后调用`onDestroy()`释放资源,并使用`System.exit(0)`结束进程。 ```java // 假设在某个地方需要退出App ((AgentApplication) getApplication()).exitApp(); ``` 这种实现...

    android 如何完全退出程序

    `addActivity()`方法用于向列表中添加Activity,而`exit()`方法则负责遍历列表并调用每个Activity的`finish()`方法,最终通过`System.exit(0)`来结束进程。 #### 应用场景示例 为了更好地理解如何在实际项目中使用...

    Android完全退出应用程序的方法

    在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用...

    完全退出程序Demo

    在Android开发中,完全退出一个程序是...通过结合使用`System.exit(0)`、`finish()`、`ActivityManager`、`BroadcastReceiver`以及对全局状态的管理,我们可以实现一个全面的退出机制,确保应用在用户期望时彻底退出。

    黑马程序员之android_点击返回键退出程序的方法

    - 使用`System.exit(0)`可能会导致一些问题,比如未释放资源等。因此,在实际项目中推荐使用`finish()`方法关闭当前Activity。 #### 方法二:点击返回键弹出确认对话框选择退出 这种方法是在用户点击返回键时,弹...

    exits完全退出

    需要注意的是,`System.exit(0)`方法的使用需谨慎,因为它会立即终止整个Java虚拟机(JVM),在某些情况下可能不是最佳实践。在实际开发中,可以根据具体需求调整退出逻辑,例如只关闭当前活动或通过其他方式清理...

    Android 实现彻底退出自己APP 并杀掉所有相关的进程

    System.exit() 方法可以带有参数,0 表示正常退出,非 0 表示非正常退出。通常这种退出方式应该放在 catch 块中,例如: ```java try { // 代码 } catch (Exception e) { System.exit(1); } ``` 3. 杀死 App 的...

    关闭所有activity

    此外,`System.exit(0)`是用来强制退出应用程序,尽管在大多数情况下,仅仅finish所有Activity就足够了,因为Android系统会处理内存管理,但在某些特殊情况下,如服务或后台进程仍在运行,可能需要使用`System.exit...

    java语言 密码设定

    System.out.println("Finish generating AES key"); // 创建Cipher对象并初始化 Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key); // 加密过程 System...

    安全退出activity方法(多种)

    // 注意:不推荐使用System.exit(0),因为这可能导致数据丢失 } } ``` 总结,安全退出Activity的方法多种多样,开发者应根据实际需求选择合适的方法。通常情况下,简单地使用`finish()`就能满足大部分需求,但在...

Global site tag (gtag.js) - Google Analytics