【问题标题】:How do I handle duplicate strings in Android to reduce memory usage?如何处理 Android 中的重复字符串以减少内存使用?
【发布时间】: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


【解决方案1】:

您可以使用String.intern()
但我怀疑你可以通过删除重复的字符串来减少内存占用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    相关资源
    最近更新 更多