为什么我要用HPROF查看器和分析器找出“重复字符串”?

9
利用Android Memory Monitor,尤其是它的“Dump Java Heap”功能,我目前正在追踪应用程序中的内存泄漏问题。在Android Studio的dump / HPROF视图的左侧,有一个打开“Analyzer Tasks”的选项,您可以告诉计算机“检测泄漏的活动”和“查找重复字符串”。我对后者感到困惑。它是做什么的,有什么用处?它一定比只帮助那些将相同字符串两次放入其资源文件夹的笨拙开发人员更为复杂。文档在这里没有提供很多帮助(如果我的搜索足够彻底),因为它们仅陈述了它在“目标程序具有重复值的字符串”的情况下有所帮助。这种情况何时会出现?
1个回答

5
据我所知,此功能只是指出内存中重复的字符串。但是,它不仅对于查找同一字符串已输入到多个资源的情况有用。例如,在Java中 字符串不可变,您可能会意识到比最初预计的更多字符串实例。如果您的应用程序具有大量字符串连接代码但不使用StringBuilder,或者如果您的应用程序执行任何字符串/文本处理,则很容易结束时占用了大量空间的字符串。但是相反,这通常是相对容易的优化,以便重新获得一些空间(一旦您可以看到问题所在)。因此,您可以说此任务更多地涉及内存“优化”,而不是查找泄漏。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接