【问题标题】:Getting a nicely formatted timestamp without lots of overhead?在没有大量开销的情况下获得格式良好的时间戳?
【发布时间】:2010-06-12 01:31:06
【问题描述】:

在我的应用程序中,我有一个 textView,其中包含来自我的应用程序的实时消息,当事情发生时,消息会打印到此文本框。每条消息都带有 HH:MM:SS 时间戳。

到现在为止,我也一直在寻找似乎是内存泄漏的问题,但事实证明,这只是我的时间戳格式化方法(见下文),它显然会产生数千个后来得到 gc 的对象d。对于每秒 1-10 条消息,我看到 GC 每秒收集 500k-2MB 的垃圾,而这种方法已经到位。删除后,不再有垃圾问题(恢复到大约 30 秒的间隔,通常只有几 k 的垃圾)

所以我正在寻找一种新的、更轻量级的方法来生成 HH:MM:SS 时间戳字符串 :)

旧代码:

/**
 * Returns a string containing the current time stamp. 
 * @return - a string. 
 */
public static String currentTimeStamp() {
    String ret = "";

    Date d = new Date();

    SimpleDateFormat timeStampFormatter = new SimpleDateFormat("hh:mm:ss");

    ret = timeStampFormatter.format(d);

    return ret;
}

【问题讨论】:

    标签: java android time formatting


    【解决方案1】:

    将您的SimpleDateFormat 设为static final,而不是每次都创建一个。

    【讨论】:

    • 这对我来说是个愚蠢的错误。感谢您指出我的错误。
    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2010-10-10
    • 2020-10-13
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多