2019.5.18
1.描述:当从首页进入一个页面后,稍作停留后返回上个页面,重复几次发现页面卡死了,即使返回桌面再重新进入app还处于卡死状态。
其间查找了很多资料,也没有解决。
但是发现了一个现象,卡死时CPU高达100%,
然后调整方向,查找如何解决CPU过高的问题,在某篇文章中找到了查找占用CPU过高代码的方法:Instruments->Time Profile
然后使用工具监控后发现是数组的操作导致的, 2019-05-18 17.55.56.png
会想起最近写的关于数组操作的代码就是,在navigation中的隔层pop(如从第三个vc直接返回第一个vc)时,我的思路是在页面的viewDidAppear方法中将第一个vc和最后一个vc中间的其他vc移除,然后将新的vc数组赋值给navigationController的viewControllers。
但只是猜想,接下来采用排除法,将这一部分的代码注释掉。经过反复的试验,再没出现程序卡死的问题。bingo!
关于隔层pop,采用了这篇文章的方法。
网友评论