android ui线程和数据的分离

       android会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。由于主线程是单线程模型,对于一些费时的操作,不能放在主线程中处理,要开一个多线程来处理这些费时的操作如请求服务器更新数据。在我们项目中一般采用Thread+Handler的方式进行非界面的数据更新。

        有一次由于写代码很忙,没有用Thread+Handler的形式来更新非ui线程的数据,所有操作都在ui线程,由于请求后台需要花费5秒以上的时间(服务器/后台的网络十分不给力),界面点击后出现黑屏死屏现象。

  

相关推荐