如题,点击某个选中的item来更换它的图标,出现图片变换卡顿,而且出现的时间不定,有时是刚运行没多久就开始卡了,有时却是运行很久也不会变慢。。。。。。请各位大神指教啊,本人新手,经验较少。。。 |
|
如果不能在点击产生卡顿时暂时的话(时机不好掌握),就用Time Profile测下:
耗时大的代码会很明显的看到 |
|
恩啊,那个TimerProfiler在6Plus上使用会造成手机重启。。。。。我用预定义的宏测试了,更换tabbar图片的代码片段确实是比其他不需要更换图标的切换时间长,但不是每次都有明显延时,大多数情况下还是很流畅的。不确定是什么原因引起的。ios自带的tabbar难道限制对选定的item进行图片更换操作吗。费解 |
|
把你tagbar相关的代码贴上来
|
|
|
|
上面的那个方法会在个别情况下导致item的图标更换或者controller切换卡顿吗? |
|
你的代码要表达的是个什么意思。有没有更优的方案。看着有点乱啊。
|
|
要实现的功能就是通过item被选择的次数count来改变它的图标,再进行其他操作。问题是这种更换某个item图标的方法可行吗?为什么有时候会出现卡顿,点击跟图标变换之间有延时 |
|
改变图标不会卡,这个通知kUpdateUnreadNum做哪些了事情? |
|
发了一个通知,该item对应的controller里注册了这个通知,并且有一个更新数据库的操作。 |
|
10分 |
代码中倒是没有耗时的操作。唯一要查检的就是发送通知的地方,虽是一个异步的,不阻塞线程。但目前可怀疑的就是这个地方。可尝试注释通知部分的代码。再运行看一下运行效率如何。 |
如果这里做了优化,无变化时不需要发通知,这个方法里还有其他地方可能造成卡顿吗? |
|
30分 |
你可以先把数据库操作暂时注释,显而易见的是,如果数据库操作在主线程上(下断点,看是不是在Thread 1上),是会造成卡顿的 |
get~~谢谢版主大神! |