我正在尝试优化我的应用程序占用的内存量。
当我的应用程序加载时(按住主键,然后选择任务管理器),我可以看到该应用程序占用了17MB的内存,但该值没有刷新。
如何实时跟踪该值? DDMS可以选择吗?请具体说明,我进行了很多搜索,但未找到任何内容。
提前致谢

最佳答案

另一种面向代码的用于内存跟踪的调试方法出现在https://stackoverflow.com/a/6471227/978329中,带有指向具有更多信息的博客的链接。

为了简短起见,您可以将以下代码(或其改进版本)小心地放入某种单击事件中,并将实时信息获取到日志或祝酒消息中:

View v = (View) findViewById(R.id.SomeLayout);

    v.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {

            Debug.MemoryInfo memoryInfo = new Debug.MemoryInfo();
            Debug.getMemoryInfo(memoryInfo);

            String memMessage = String.format("App Memory: Pss=%.2f MB, Private=%.2f MB, Shared=%.2f MB",
                    memoryInfo.getTotalPss() / 1024.0,
                    memoryInfo.getTotalPrivateDirty() / 1024.0,
                    memoryInfo.getTotalSharedDirty() / 1024.0);

            Toast.makeText(ThisActivity.this,
                    memMessage,
                    Toast.LENGTH_LONG).show();
            Log.i("log_tag", memMessage);
        }
        });

09-27 17:16