现在有个场景,我的安卓主线程中写了很多代码,然后主线程里面所有涉及耗时操作的都放到了子线程中。反正就是主线程代码很多,有时候造成更新ui的时候会卡一下,请问这种情况怎么解决,就是有没有想adapter那样,有个notedatachanger那样的方法,在大量代码中,遇到更新ui的能够及时刷新我的界面
题主应该对线程的概念还没有了解很准确。除了耗时操作需要放在异步线程,其他的关于UI和数据逻辑处理部分都是在主线程里处理的。无论你懂不懂哪些逻辑应该放在工作线程(子线程)还是主线程(UI线程),系统都会帮你检查,所以你的程序没有崩溃,说明你并没有操作出错。在这里我推断一下,题主是不是觉得主线程里逻辑比较臃肿,代码过长,怕运行时间过长导致页面刷新慢?当然不会。导致屏幕卡顿,是因为子线程中的任务还没有结束,或者子线程任务执行较慢,从而影响下行逻辑的处理,才导致整个页面看似变慢。问题还是出在逻辑上,不在于代码有多少。你可以去看看Android源码,一个组件可能会有3000多行代码,为何就不会卡顿?
使用异步加载框架,AsyncTask,或者通过Handler,sendMessage,主线程中只需要处理f