这两天在做新疆项目时,提测两轮全部没有通过。两天时间匆匆而过。
庆幸我的经理敏哥,是个牛逼的人,陪我走了两天的代码。
希望我的人生路上多一些这样的人,但是我知道不可能,做人要知足也要珍惜。
这篇微博,主要记录我这两天的修复bug的收获。
bug1:程序内存泄漏严重。
fix: 1、查找所有的new和mallco。事实证明是自己粗心,一个自己封装的类少写了两个Delect。
2、sqlite的一个封装的select语句,有内存泄漏 ,这个是真的没点感觉,内心都不相信这个地方会有问题。事实应该是我从网上copy下来的时候没问题,自己改出来的问题。 找出这个问题的方法是 一句句注释。测试出来的。(有的时候自己就是没耐心,其实问题并不难)。
附注:sqlite操作本来就会有内存泄漏,因为sqlite的很多操作都是放在内存和本地同步操作的,为的是提升效率。
解决方案是:每次操作都打开和关闭数据库。
另:数据库的insert操作,如果数据量大的时候一定要是用事务。能极大的提升效率。
bug2:多线程同步做操作时,响应函数进了队列,导致停止操作时,响应函数延迟响应。
fix:解决方法是使用全局变量计数,同一时间发出的消息请求,计数累加。解决一个计数减减,直到减到0,才开始再次放开线程。很牛逼的解决方案。
实例:多线程同步 读卡、刷脸、刷手指。响应认证处理。同步发生的时候使用全局计数。
这两天收获很大,有进步,希望同样的错误不要犯两次。希望下次能自己解决这些问题。感谢敏哥。
书写在遇到困难时-tag1
最新推荐文章于 2024-09-11 13:54:20 发布