_app_memory_size.setText("占用内存:"
+ Formatter.formatFileSize(TaskManagerActivity.this,
taskInfo.getMemorySize()));
if (taskInfo.isChecked()) {
holder.tv_app_status.setChecked(true);
} else {
holder.tv_app_status.setChecked(false);
}
//
if(taskInfo.getPackageName().equals(getPackageName())){
//
holder.tv_app_status.setVisibility(View.INVISIBLE);
}else{
//
holder.tv_app_status.setVisibility(View.VISIBLE);
}
return view;
}
}
static class ViewHolder {
ImageView iv_app_icon;
TextView tv_app_name;
TextView tv_app_memory_size;
CheckBox tv_app_status;
}
private void initData() {
new Thread() {
public void run() {
taskInfos = TaskInfoParser
.getTaskInfos(TaskManagerActivity.this);
userTaskInfos = new ArrayList<TaskInfo>();
systemAppInfos = new ArrayList<TaskInfo>();
for (TaskInfo taskInfo : taskInfos) {
if (taskInfo.isUserApp()) {
userTaskInfos.add(taskInfo);
} else {
systemAppInfos.add(taskInfo);
}
}
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new TaskManagerAdapter();
list_view.setAdapter(adapter);
}
});
};
}.start();
}
private void initUI() {
setContentView(R.layout.activity_task_manager);
ViewUtils.inject(this);
//SystemInfoUtils下文定义
processCount = SystemInfoUtils.getProcessCount(this);
tv_task_process_count.setText("运行中进程:" + processCount + "个");
availMem = SystemInfoUtils.getAvailMem(this);
totalMem = SystemInfoUtils.getTotalMem(this);
tv_task_memory.setText("剩余/总内存:"
+ Formatter.formatFileSize(TaskManagerActivity.this, availMem)
+ "/"
+ Formatter.formatFileSize(TaskManagerActivity.this, totalMem));
list_view.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//
Object object = list_view.getItemAtPosition(position);
if (object != null && object instanceof TaskInfo) {
TaskInfo taskInfo = (TaskInfo) object;
ViewHolder holder = (ViewHolder) view.getTag();
if(taskInfo.getPackageName().equals(getPackageName())){
return;
}
if (taskInfo.isChecked()) {
taskInfo.setChecked(false);
holder.tv_app_status.setChecked(false);
} else {
taskInfo.setChecked(true);
holder.tv_app_status.setChecked(true);
}
}
}
});
}
/**
* 全选
*
* @param view
*/
public void selectAll(View view) {
for (TaskInfo taskInfo : userTaskInfos) {
if (taskInfo.getPackageName().equals(getPackageName())) {
continue;
}
taskInfo.setChecked(true);
}
for (TaskInfo taskInfo : systemAppInfos) {
taskInfo.setChecked(true);
}
// 数据发生变化,一定要更新
adapter.notifyDataSetChanged();
}
/**
* 反选
*
* @param view
*/
public void selectOppsite(View view) {
for (TaskInfo taskInfo : userTaskInfos) {
if (taskInfo.getPackageName().equals(getPackageName())) {
continue;
}
taskInfo.setChecked(!taskInfo.isChecked());
}
for (TaskInfo taskInfo : systemAppInfos) {
taskInfo.setChecked(!taskInfo.isChecked());
}
adapter.notifyDataSetChanged();
}
/**
* 清理
*
* @param view
*/
public void killProcess(View view) {
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<TaskInfo> killLists = new ArrayList<TaskIn |