有没有办法停止/清除我的Android Widget的缓存后台进程?
我的小部件使用较少的RAM内存(大约1 MB),但后台缓存进程中的内存很多(大约100/200 mb)。
有没有办法停止后台缓存进程或清除它?
答案 0 :(得分:2)
设置>开发人员选项>应用程序>后台流程:否。
PS。不要满足于完整解决方案!
答案 1 :(得分:1)
我认为CommonsWare对On Android, what's the difference between running processes and cached background processes?的回答可能对您有所帮助。简而言之,似乎没有理由清除它。此外,如果您单击该过程,您将看到一条消息 “这是一个旧的应用程序,如果再次需要它,可以保持更快的速度。通常没有理由阻止它。”希望有所帮助。
答案 2 :(得分:0)
我认为通常有理由清除Android上的内存。当你上线时,Android(实际上是Google)会将一堆应用程序预加载为“缓存”。当你离线时,它会清除它们并加载更多。然后有像Google+这样的东西只会占据你手机内存的50Mb。因此,如果您需要删除所有未使用的元数据收集废话,以便您的应用有一些空间,您可以执行以下操作:
public void clearMem() {
ActivityManager amgr = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> list = amgr.getRunningAppProcesses();
if (list != null){
for (int i = 0; i < list.size(); i++) {
ActivityManager.RunningAppProcessInfo apinfo = list.get(i);
String[] pkgList = apinfo.pkgList;
if ((! apinfo.processName.startsWith("com.sec")) && ((apinfo.importance > 150) || (apinfo.processName.contains("google")))) {
for (int j = 0; j < pkgList.length; j++) {
amgr.killBackgroundProcesses(pkgList[j]);
}
}
}
}
}