android – 为什么我要用HPROF Viewer和Analyzer找到“Duplicate Strings”?

使用 Android内存监视器,特别是其“转储Java堆”功能,我目前正在寻找我的应用程序内存泄漏.在Android Studio的转储/ HPROF视图的左侧,有一个选项可以打开“Analyzer Tasks”,您可以告诉机器“检测泄漏的活动”和“查找重复的字符串”.我对后一种选择感到困惑.它做了什么以及它如何有用?它必须比仅仅帮助我们这些笨拙的开发人员更复杂,他们将相同的字符串两次放入他们的资源文件夹中. docs在这里不是很有帮助(如果我的搜索足够彻底),因为它们只表示它有助于“目标程序具有重复值的字符串”的情况.情况会是什么时候?

解决方法

据我所知,这只是指出了内存中重复的字符串.但是,这不仅仅是查找已将相同字符串输入到多个资源的情况.例如,在Java中作为 Strings are immutable,您可以轻松地获得比您最初意识到的更多字符串实例.如果您的应用程序有很多字符串连接代码但不使用StringBuilder,或者如果您的应用程序执行任何字符串/文本处理,则很容易以字符串占用意外的大量空间.但相反,它往往是一个相对容易的优化,以获得一些空间(一旦你可以看到问题是什么).所以你可以说这个任务更多的是关于内存’优化’,而不是找到泄漏.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...