我正在构建一个移动应用程序,我想实现一项功能,通过杀死Android Oreo中的后台任务来清理ram内存(类似CCleaner的方法)。
我尝试了在GitHub上找到的算法。但这似乎仅适用于Android 5.0
protected void populateTextViewWithRunningProcesses() {
// Empty the TextView
mTextView.setText("");
// Initialize a new instance of ActivityManager
ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
// Get a list of RunningAppProcessInfo
List<AndroidAppProcess> processes = AndroidProcesses.getRunningAppProcesses();
// Display the number of running processes
Toast.makeText(mContext, "Running processes : " +
runningProcesses.size(), Toast.LENGTH_SHORT).show();
// Loop through the running processes
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
// Get the process name
mTextView.setText(mTextView.getText() + processInfo.processName + "\n");
}
}
它仅显示我的应用程序自己的任务,而不显示其他正在运行的任务
答案 0 :(得分:2)
Android 5.0以上版本杀死了getRunningTasks(int)和getRunningAppProcesses()。这两个方法现在都已弃用,仅返回您的应用程序过程。您可以使用UsageStatsManager获取正在运行的应用程序的列表。检查以下示例:https://github.com/googlesamples/android-AppUsageStatistics