新手!简单解释下 主线程与异步任务

我按照视屏写的不可以运行,说是 The he application may be doing too much work on its main thread. 但是视屏上可以运行,我下载源码也可以运行。是因为 api版本同导致的么?

简单解释下:一个cpu在同一个时间内只能轮询一个线程,在不同时间就可以轮询不同的线程。如果把cpu的时间分成细小的时间片,并且在一个细小的时间片内轮询一个线程,多个时间片就可以轮询多少线程,这多个线程就代表多个任务。那么多个时间片就可以执行多个任务。但是这多个时间片对于人类的
反应时间来说显得非常的短暂,人类几乎无法感觉到多个任务不是在同时执行,所以看起来多个线程(含主线程)做了不同的事情,彼此不同步,各干各的。

这句话是告诉你你在ui线程做的工作太多了,把耗时间的操作放在线程里面操作就可以了。

把耗时的任务放到子线程,可以参考使用AsyncTask()类来完成耗时的工作

写程序最忌讳跟着“视频”操作,应该搞清楚原理。特别是一些视频的“老师”来自培训班,属于野路子。