1 使用 dispatch_async,也可能会出现卡顿。
由于mac系统允许overcommit,而iOS系统不允许overcommit 故要控制GCD队列的数量并且最好设置target queue。故卡顿是由于资源紧缺,等待资源造成的。同时创建过多线程不会导致APP被watchdog强杀,但是创建过多线程有可能导致主线程不能得到及时处理而因为其他原因被kill。CPU长时间过载不会导致watchdog强杀,但是系统会生成一个report来,来警告开发者。如 “this is not a crash” 的crash 日志。
2