【发布时间】:2012-09-09 23:15:57
【问题描述】:
我刚刚开始使用内存分析器工具 (MAT) 来查看是否可以优化我的 Android 应用程序。它显示从 Internet 的 XML 文件获得的天气数据。由于某些与天气相关的字符串明显重复(“晴天”、“部分多云”等),我看到了大量重复字符串。
使用此类相似字符串减少内存开销的最有效方法是什么?枚举最常见的字符串并在 XML 解析操作期间进行匹配?
谢谢。
【问题讨论】:
-
您总是可以将它们放入枚举中,但我怀疑它是否会有所帮助或使您的程序不太稳定。从获取的 xml 中按原样获取这些字符串对我来说是最合理的方法。
-
总之,是的! :) 在您的类上创建一个代表天气的枚举并设置相应的“条件”变量。例如if(node.toString().equalsIgnoreCase("clear"){weather.conditions = Conditions.Clear;}
-
感谢您的想法。我可能会取一小部分最常用的字符串并枚举它们,看看是否有任何变化。根据迄今为止的 cmets,我得到一个普遍的感觉,即使 MAT 产生大量重复的字符串和内存使用,这并不是什么大不了的事。
标签: android string optimization