onTouch和onClick监听器之间的区别以及多线程的使用

时间:2015-12-12 13:28:12

标签: android multithreading onclicklistener ontouchlistener

我正在尝试在android(某种计算器应用程序)中制作一些应用程序。在应用程序中,按下按钮时会使用if-else检查很多条件。我正在使用带按钮的onClickListener,因此它们需要稍长的时间来响应。那么我应该使用多线程将逻辑与主线程分开,还是将onTouchListener与按钮一起使用?

2 个答案:

答案 0 :(得分:1)

  1. 对于点击事件,继续使用 onClick onTouch 用于跟踪手势。

  2. 主线程中进行任何逻辑操作都不是一个好习惯。保留它只是为了用户交互。您应该考虑使用线程来避免 ANR (应用程序没有响应)。一个好的开始是 AsyncTask ,它有自己的方法在separete线程中执行逻辑并更新主线程上的 UI

  3. 请点击此链接获取 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.