Android rxjava的语用问题
问题是,我有一个验证方法,其中包括许多if/else语句:Android rxjava的语用问题,android,rx-java,Android,Rx Java,问题是,我有一个验证方法,其中包括许多if/else语句: if (isBlank(applyLoan.principal)) { makeToast(R.string.wizard_alert_null_principal); return false; } if (!isValidDigital(applyLoan.principal)) { makeToast(R.string.wizard_alert_illegal_principal); return false; }
if (isBlank(applyLoan.principal)) {
makeToast(R.string.wizard_alert_null_principal);
return false;
}
if (!isValidDigital(applyLoan.principal)) {
makeToast(R.string.wizard_alert_illegal_principal);
return false;
}
if (isBlank(applyLoan.loanInstallment)) {
makeToast(R.string.wizard_purpose_hint_installment);
return false;
}
if (isBlank(applyLoan.loanFor)) {
makeToast(R.string.wizard_purpose_hint_purpose);
return false;
}
...(lots of these things)
我正在考虑使用过滤器操作符,但我不知道它是否有价值,因为在阅读了源代码之后,我发现了很多“新”对象
因此,从内存管理的角度来看,是否值得替换if/else?还有什么我应该知道的相关信息吗?相当抽象的问题,你想进一步解释为什么你有rx java标记以及你想优化什么吗?实际上,我只想直接在ContextChanged回调中进行一些验证,但由于“大”的可观察性,我仍然使用if/else not过滤器。这个回调事件会做出多次反应,在用户输入一些文本后,Observable也会做出多次反应。所以我不知道,我也没有看到rx内存管理或类似的说法出现。任何可观察到的代码块都会以“相同的方式”工作,就像你没有rx一样。将Rx简单地看作一个异步任务管理框架。因此,每当
onTextChanged()
通知订户指定的代码块时,例如上面的代码块就会运行。是的,非常感谢您的回复,我同意您的“相同方式”。但是我的意思是过滤器操作符和if/else之间的区别,我的意思是它们确实有区别,因为它们的实现方式对吗?if/else不会在大量事件中加入额外的对象(它们只是一些验证),但是在探索了“filter”的源代码之后,我确信它们不仅仅是验证,我必须在活动结束时取消订阅它们的订阅者。所以我应该担心吗,我走对了吗?