今天在康佳加一个产品(飞飞Q信),遇到一个拍照失败的问题。
现象是:拍最小的那张相片(240*320)可以拍照成功,然后拍大于(240*320)的相片的时候
每次都是拍照失败。当时就在想是不是在拍照的时候申请的内存不够,导致拍照失败。
最后才发现一个问题,就是我们的产品(飞飞Q信)在手机开机的时候会申请1K的内存,然后
一直没有释放掉。最后解决办法,将那个开机动态申请内存的变量改成静态申请内存。这样就
避免了这个问题。
这就涉及到一个内存碎片的问题:就是在手机开机的时候可能有很多都申请了内存,然后那些
在这个变量之前申请的内存都已经释放掉了,但是这个变量一直占用着内存中,导致这块内存
现象是:拍最小的那张相片(240*320)可以拍照成功,然后拍大于(240*320)的相片的时候
每次都是拍照失败。当时就在想是不是在拍照的时候申请的内存不够,导致拍照失败。
最后才发现一个问题,就是我们的产品(飞飞Q信)在手机开机的时候会申请1K的内存,然后
一直没有释放掉。最后解决办法,将那个开机动态申请内存的变量改成静态申请内存。这样就
避免了这个问题。
这就涉及到一个内存碎片的问题:就是在手机开机的时候可能有很多都申请了内存,然后那些
在这个变量之前申请的内存都已经释放掉了,但是这个变量一直占用着内存中,导致这块内存
的两边内存都不够。有关内存碎片请见:内存碎片。
如果本文对你有用,请留言告知,谢谢。。。
本文介绍了一款产品在手机上拍照失败的问题排查过程。当尝试拍摄大于240*320分辨率的照片时,发现拍照总是失败。经过分析,确认为内存分配不足导致。最终通过调整内存申请方式解决了该问题。
9516

被折叠的 条评论
为什么被折叠?



