一旦我打开我的应用程序,它会保留大约 7MB(通过 Android Studio 内存监视器),并且在使用它(使用自定义项填充 listView)时,它会弹出大约 9MB:12MB
在我关闭应用程序并从 Android Studio 使用“Initiate GC”后,它下降到大约 8.3MB。
那么,这是否意味着/表明我有内存泄漏?
它不应该回到开始时的 7MB 吗?
或者当我的应用程序关闭时它不应该是 0MB 吗?
最佳答案
如果您正在寻找删除您自己的应用程序的缓存,那么只需删除您的缓存目录即可!
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
deleteDir(dir);
} catch (Exception e) {}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
return dir.delete();
}
else if(dir!= null && dir.isFile())
return dir.delete();
else {
return false;
}
}
并且您可能需要以下权限才能添加到您的 list 文件中以删除其他应用程序的缓存
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>
关于android - 我的应用程序在关闭后应保留多少内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951062/