单击按钮时稍有延迟

时间:2012-12-11 10:55:27

标签: java android jodatime

我刚刚使用JodaTime libary制作了简单的应用程序。它没有什么特别的,只计算时间差(24小时)并在屏幕上输出。例如,小时21和03之间的差异是6小时。什么特别的和应用程序工作。

但我有一个问题。当我点击“计算”按钮时,我会遇到一些不寻常的延迟。就像我点击按钮一样,在模拟器上“计算”需要3秒钟。在我的手机上它需要一半的时间。但你可以看到计算不是即时的。但是,当我想第二次计算时,它会立即没有问题。在实际的手机和模拟器上。有人能告诉我什么可能是错的吗?这是我的onClick代码(在活动中我只引用了视图)。据我所知,它应该是对象的问题..加载到内存中?因为当它们存在于内存中时,没有延迟。我如何改进我的代码,以便不再有任何延迟?

@Override
public void onClick(View ClickedView) {

    hour1 = Integer.parseInt(field_hour1.getText().toString());
    hour2 = Integer.parseInt(field_hour2.getText().toString());



    if(hour2 < hour1) {

        dt1 = new DateTime(2012, 10, 10, hour1, 00);
        dt2 = new DateTime(2012, 10, 10+1, hour2, 00);
        diff = Hours.hoursBetween(dt1, dt2);


    } else {
        dt1 = new DateTime(2012, 10, 10, hour1, 00);
        dt2 = new DateTime(2012, 10, 10, hour2, 00);
        diff = Hours.hoursBetween(dt1, dt2);

        }


    result.setText(""+diff.getHours());}

1 个答案:

答案 0 :(得分:0)

你可以试试这个

public static int diff(int hour1, int hour2) {
    if(hour2 < hour1) {
        hour2 += 24;
    }
    return hour2 - hour1;
}