Java 单击按钮时有轻微延迟

Java 单击按钮时有轻微延迟,java,android,jodatime,Java,Android,Jodatime,我刚刚用JodaTime库制作了一个简单的应用程序。它没有什么特殊功能,只计算时间差(24小时时间)并将其输出到屏幕上。例如,21小时和03小时之间的差值为6小时。没有什么特别的,应用程序也可以工作 但我有个问题。当我点击“计算”按钮时,我经历了一些不寻常的延迟。这就像当我点击按钮时,在emulator上“计算”需要3秒钟。在我的手机上,大概需要半秒钟。但是你可以看到,计算不是即时的。但是,当我想计算第二次时,它会立即计算,没有问题。在实际手机和模拟器上。有人能告诉我出了什么问题吗?这是我的on

我刚刚用JodaTime库制作了一个简单的应用程序。它没有什么特殊功能,只计算时间差(24小时时间)并将其输出到屏幕上。例如,21小时和03小时之间的差值为6小时。没有什么特别的,应用程序也可以工作

但我有个问题。当我点击“计算”按钮时,我经历了一些不寻常的延迟。这就像当我点击按钮时,在emulator上“计算”需要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());}
@覆盖
单击公共作废(查看单击查看){
hour1=Integer.parseInt(字段_hour1.getText().toString());
hour2=Integer.parseInt(字段_hour2.getText().toString());
如果(小时2<小时1){
dt1=新的日期时间(2012年10月10日1小时00分);
dt2=新的日期时间(2012年10月10日+1小时2小时00);
差异=小时之间(dt1、dt2);
}否则{
dt1=新的日期时间(2012年10月10日1小时00分);
dt2=新的日期时间(2012年10月10日2小时00分);
差异=小时之间(dt1、dt2);
}
result.setText(“+diff.getHours());}
您可以试试这个

public static int diff(int hour1, int hour2) {
    if(hour2 < hour1) {
        hour2 += 24;
    }
    return hour2 - hour1;
}
publicstaticintdiff(inthour1,inthour2){
如果(小时2<小时1){
小时2+=24;
}
返回小时2-小时1;
}