android会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。由于主线程是单线程模型,对于一些费时的操作,不能放在主线程中处理,要开一个多线程来处理这些费时的操作如请求服务器更新数据。在我们项目中一般采用Thread+Handler的方式进行非界面的数据更新。
有一次由于写代码很忙,没有用Thread+Handler的形式来更新非ui线程的数据,所有操作都在ui线程,由于请求后台需要花费5秒以上的时间(服务器/后台的网络十分不给力),界面点击后出现黑屏死屏现象。
本文探讨了Android应用中UI线程与后台数据更新的冲突问题,通过实例说明了请求后台数据时避免阻塞UI线程的方法,即使用Thread+Handler的方式进行非界面的数据更新,有效防止了黑屏死屏现象的发生。
179

被折叠的 条评论
为什么被折叠?



