android-studio - Android Studio 内存监视器显示内存增加

标签 android-studio memory memory-leaks monitor

<分区>

我正在通过 Android Studio 内存监视器分析我的 Android 应用程序的内存(没有崩溃,只是检查)并注意到它一直增长到大约 25MB,直到 GC 收集将它减少到 16MB,然后同样的事情再次发生(请参阅下面的附图)。

我决定完全删除所有方法调用,并完全删除主要事件(我的应用程序中唯一的一个)(即 onPause、onResume 根本没有逻辑),我的应用程序只是一个空白的白屏,但由于某些奇怪的原因,我看到这个堆内存不断增长。有没有人知道发生了什么,或者我该如何进一步调查?

Android memory usage

不幸的是,我还没有弄清楚发生了什么。正如我上面提到的,我已经清除了所有内容,删除了我拥有的所有文件和资源。目前我的应用看起来像这样:

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.wow.memorytest"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:support-v4:23.4.0'
}

我的 AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wow.memorytest">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        <activity
            android:name="com.wow.memorytest.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

主事件.java

package com.wow.memorytest;


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }
}

最佳答案

我在另一个堆栈溢出帖子中找到了答案。

TL;DR 暂停 GPU 监视器

更多信息在这里: Android: Constant memory consumption / dumpGfxInfo()

关于android-studio - Android Studio 内存监视器显示内存增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37752436/

相关文章:

memory - Visual Studio 不会显示的其他托管堆内有什么?

iphone - xCode 3.2.1 外星人泄漏

java - 为什么我的程序在字节数组中保存 1.5Gb 内存?

Android Studio,LOCAL_C_INCLUDES +=/foo/bar/include 不起作用?

android-studio - 如何保存和恢复 Android Studio 用户界面设置?

memory - 为什么将内存区域标记为非缓存?

java - 如何在 Eclipse 中保存堆(转储到文件)?

android - Android 项目中的重复文件错误消息

Android Studio - 删除的依赖项并未从外部库中删除

java - 好的内存类清理练习?