android - 我的应用程序在关闭后应保留多少内存

标签 android

一旦我打开我的应用程序,它会保留大约 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"/>

引用:Clear Cache in Android Application programmatically

关于android - 我的应用程序在关闭后应保留多少内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951062/

相关文章:

android - Facebook 喜欢按钮在 android 中打开空白页面

android - flutter : How to change Android minSdkVersion in Flutter Project?

android - 如何使用 baseadapter 将获取的 json 数据显示到 ListView 中

android - Webview 和 iFrame 视频全屏问题

android - 带有 SBT : ANDROID_HOME not found 的 IntelliJ IDEA

Android BluetoothSocket.connect 超时

Android 主屏幕小部件文档

Android 通知声音静音

android - onTextChanged(CharSequence s, int start, int before, int count) 被多次调用

c# - 当触摸屏键盘在带有 Unity 的 Android 上可见时如何调整 View 大小?