Sha*_*aun 31 android kill button back android-activity
我有一个活动,当它启动时,它从互联网加载图像.为了节省内存,当按下后退按钮留下Activity时,我希望活动转储所有数据,即删除其中的所有字符串和图像.我认为最好的方法是杀死活动.
好吧,我似乎无法弄清楚按下后退按钮时的回调.所以,我一直在尝试使用onPause()
和onStop()
回调来完成任务,但两种方式强制关闭我的应用程序.这是代码:
public void onPause() {
this.finish();
}
public void onStop() {
finish();
}
Run Code Online (Sandbox Code Playgroud)
我尝试过多种变体,但似乎都没有.有任何想法吗?
Dhi*_*dya 71
简单覆盖onBackPressed方法:
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
}
Run Code Online (Sandbox Code Playgroud)
ing*_*abh 40
将此添加到您的活动中
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
finish();
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
小智 14
public boolean onKeyDown(int keycode, KeyEvent event) {
if (keycode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
}
return super.onKeyDown(keycode, event);
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序以上面的代码关闭
首先,finish()
不会破坏您的进程并释放内存.它只是从活动堆栈中删除活动.你需要杀死这个过程,这个问题在一堆问题中得到了回答(因为这是多次被问到的).
但正确的答案是 - 不要这样做.Android OS会在需要内存时自动释放内存.通过不释放内存,如果用户返回应用程序,您的应用程序将启动得更快.
请在这里看到有关该主题的一个伟大的写了.
归档时间: |
|
查看次数: |
125662 次 |
最近记录: |