the*_*enp 14
为什么需要保持变量存活?鉴于Android应用程序已建立的生命周期,我不确定阻止活动被破坏"只是为了保持变量"是有道理的.
即使您在不破坏应用程序的情况下停止应用程序,Android也有可能将其杀死以释放内存.无论如何,您必须在代码中考虑到这一点,因此防止应用程序被破坏并不会使您免于编写代码.
使用onPause()和onResume()方法中的SharedPreferences,可以相对轻松快速地保存和恢复变量.除非您存储大量数据,否则防止应用程序被破坏可能不会产生太大影响.
听起来您想将变量保留在内存中,因为您打算返回此活动.通常,您不使用后退按钮导航远离您打算返回的活动.相反,您将创建一个Intent并开始一个新的活动.当你这样做时,Android将当前活动放在Back Stack上,调用onPause()和onStop(),这看起来就像你正在寻找的那种行为.
因此,如果您仍然希望阻止您的活动被破坏(至少在Android决定使用太多内存并将其自身杀死之前),您可以始终使用Sagar的代码并在onBackPressed()中启动新活动.
@Override
public void onBackPressed()
{
Intent intent = new Intent(this, Other.class);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
请确保这是你真正想做的事情.
Ati*_*ood 11
简单的一行
@Override
public void onBackPressed() {
mActivity.moveTaskToBack(true);
}
Run Code Online (Sandbox Code Playgroud)
按BACK键会触发类的onBackPressed回调方法Activity.此回调的默认实现调用该finish()方法.
http://developer.android.com/reference/android/app/Activity.html#onBackPressed()
您可以覆盖此方法以将活动移至背景(模仿按HOME键的操作.
例如:
@Override
public void onBackPressed() {
onKeyDown(KeyEvent.KEYCODE_HOME);
}
Run Code Online (Sandbox Code Playgroud)
您也可以考虑moveTaskToBackground()在此提及:
| 归档时间: |
|
| 查看次数: |
12493 次 |
| 最近记录: |