Tag: ondestroy

如何在Android应用关闭或失去焦点时调用方法?

因为我正在构建的应用程序将处理相当敏感的数据,我希望每次用户登录时都将SQLite数据库与服务器同步,并在每次应用程序失去焦点时删除emty数据库(因为用户移动到主屏幕或另一个应用)。 看到Activity生命周期 ,我的想法是通过清空每个Activity的onDestroy中的数据库来做到这一点。 为了测试所描述的生命周期,我只是覆盖所有生命周期方法(onCreate,onStart,onResume,onPause,onStop和onDestroy),在其中包含一些日志消息,并启动我的应用程序。 日志消息包含在我的SettingsActivity中。 当我进入我的应用程序并移动到设置时,它运行onCreate,onStart和onResume(如预期的那样)。 然后,当我单击一个设置并移动到下一个屏幕时,它将在onPause和onStop上运行(仍然按预期方式)。 要返回到设置屏幕,我单击后退按钮,它再次运行onStart和onResume(仍然按预期),当我现在再次单击后退按钮以返回到初始屏幕时,它(令我惊讶的是)运行onPause, onStop AND onDestroy。 所以我的问题; 为什么在应用程序未完成时会破坏活动? 更重要的是:当应用程序关闭或失去焦点时,如何运行我的CleanUp方法?