我正在尝试在android(某种计算器应用程序)中制作一些应用程序。在应用程序中,按下按钮时会使用if-else检查很多条件。我正在使用带按钮的onClickListener,因此它们需要稍长的时间来响应。那么我应该使用多线程将逻辑与主线程分开,还是将onTouchListener与按钮一起使用?
答案 0 :(得分:1)
对于点击事件,继续使用 onClick , onTouch 用于跟踪手势。
在主线程中进行任何逻辑操作都不是一个好习惯。保留它只是为了用户交互。您应该考虑使用线程来避免 ANR (应用程序没有响应)。一个好的开始是 AsyncTask ,它有自己的方法在separete线程中执行逻辑并更新主线程上的 UI 。
请点击此链接获取 AsyncTask 的帮助:https://stackoverflow.com/a/18827536/4973904
希望这可以帮到你!
答案 1 :(得分:0)
你不应该在主线程上做太多工作。问题不是 if else 语句,因为条件语句执行速度非常快,但你在if else块中编写的逻辑可能是你的逻辑花了很多时间来执行。
解决方案:
if you want to perform extensive task , you should use some background thread or an alternative of this like Async task or Loaders.