Java 通过主活动中的对象实例方法或循环发送方法调用,以检查对象实例方法中的布尔值是否为true

Java 通过主活动中的对象实例方法或循环发送方法调用,以检查对象实例方法中的布尔值是否为true,java,android,performance,Java,Android,Performance,tldr:我想知道是向活动发送一个调用来启动一个方法更好,还是在活动中循环以查看对象方法是否已被触发更好 说明: 我正在android studio中创建一个由声音触发的计时器。我已经创建了一个独立于我的TimePractivity的类,称为StructionDetector。使用库TarsosDSP及其集成功能。我的问题是,调用该方法从StructionDetector启动活动中的时钟是否更合适,还是最好循环并检查该值在活动中是否为真 这里有一些伪代码可以更好地描述我的问题: //is thi

tldr:我想知道是向活动发送一个调用来启动一个方法更好,还是在活动中循环以查看对象方法是否已被触发更好

说明: 我正在android studio中创建一个由声音触发的计时器。我已经创建了一个独立于我的TimePractivity的类,称为StructionDetector。使用库TarsosDSP及其集成功能。我的问题是,调用该方法从StructionDetector启动活动中的时钟是否更合适,还是最好循环并检查该值在活动中是否为真

这里有一些伪代码可以更好地描述我的问题:

//is this the best way to go? (MainActivity)
while(percussionDetector.onSetTriggered())
{
    if(timer!=null){
       stopTimer();
    }else{
       startTimer();
    }
}

//or this? (Object class)
public void onSetTriggered(){
    if(timer!=null){
       Activity.stopTimer();
    }else{
       Activity.startTimer();
    }
}

事先谢谢你的帮助

也许代码中的观察者模式匹配:不要使用永久循环。这是个坏习惯。您可以使用
广播
、监听器/接口。感谢各位的回复!我将研究广播和接收器模式:)