写代码时容易忽视的性能问题
主线程等不要有耗时操作
主线程、其他模块回调等函数不要有耗时操作。主线程如果有耗时操作会容易导致阻塞主线程,轻则用户体验下降(但是用户体验其实是最重要的),重则程序崩溃(各种消息队列满);其他模块回调则不建议有耗时操作,除非接口/双方模块有明确协商,否则这种耗时回调通常是各种疑难bug的温床,如果要做耗时操作,建议采用发一条消息给自己,放到消息队列处理任务中完成相应耗时操作,或者另外起一个线程。
常见C/C++耗时操作
比较常见的耗时操作有:网络请求(尤其是网络状况不佳)、文件操作(当然也包括类似于printf串口打印,这种影响性能更厉害—厉害到跑大规格时严禁输出到串口)、比较大的数据初始化操作(几兆内存一次性初始化–很多人容易忽视)、I/O本身也是耗时操作、数据库操作(这种就是很耗时间,大规格单个数据库性能极限在几千访问每秒)