Android 主线程过载

56 阅读1分钟

Android主线程过载:是指应用程序的主线程(UI 线程)因执行过多的耗时操作或密集计算,导致无法及时处理 UI 渲染、用户输入事件和系统回调,从而引发界面卡顿、ANR(Application Not Responding)或响应延迟等问题。

原因:导致主线程过载的原因一般是在主线程执行过多的耗时操作或者执行了大量的UI操作。

解决思路: 对于第一种在主线程中执行了耗时操作这种很好理解和解决,就是对于需要耗时的操作都在子线程中去处理。

我这里遇到的是第二种情况,是近期在项目中发现一些老代码因为页面层级嵌套比较复杂,并且设计之初没有做太多的层级优化,这样导致主线程的一些过载,导致了一些UI的渲染较慢和卡顿的现象。

对于这种因为UI的层级渲染导致的过载问题有两种思路解决。 1.优化UI层级,减少层级嵌套。 2.对于短时间内无法优化层级的问题,考虑分段加载,优先加载呈现给用户的UI,给用户一种页面渲染“快”的感觉,加载完高优层级之后再去加载不重要部分的UI