【发布时间】:2012-12-12 19:51:51
【问题描述】:
我有以下代码:
package com.example.killall;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
//import android.widget.TextView;
import android.app.ActivityManager;
public class MainKill extends Activity {
private Button BprocessesKill ;
//private TextView processesKill;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_kill);
final ActivityManager am=(ActivityManager) getSystemService("SYSTEM_ACTIVITY");
BprocessesKill=(Button) this.findViewById(R.id.BkillProcesses);
//processesKill=(TextView) this.findViewById(R.id.killProcesses);
BprocessesKill.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
am.killBackgroundProcesses(getPackageName());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_kill, menu);
return true;
}
}
我想要做的只是按下按钮并杀死所有后台进程。我遇到的问题是,当我按下按钮时,它会向我显示消息:不幸的是 KillAll(那是我的应用程序的名称)已经停止。我应该改变什么?
【问题讨论】:
-
为什么要杀死一个进程?
-
您的目标 API 级别是什么?
-
@johnjohn 因为你不应该杀死 Android 中的应用程序......
-
为什么 killBackgroundProcesses(package name) 存在呢?
-
请注意,后台进程可能会占用内存,但不会占用时钟周期,并且会在前台进程需要它时立即放弃它的内存 - 因此杀死该后台进程会花费您额外的时间你重新开始它,但什么也没有为你节省......