经常申请内存,释放内存会造成内存碎片而导致程序降低效率吗?该怎么处理

经常申请内存,释放内存会造成内存碎片而导致程序降低效率吗?
我的程序需要经常申请和释放,我每次申请的内存的大小都不固定,我就想经常申请内存,释放内存会造成内存碎片而导致程序降低效率吗?

如果会又有什么方法解决呢?

------解决方案--------------------
可以适当的申请比较大的内存块,然后根据需要来决定是否需要重新申请大内存。
比如初始化时申请的大小为1MB的缓冲区,如果需求比1MB小,那么就不用申请了,直接用;如果比1MB大,那么就删掉当前缓冲区,重新申请符合大小的缓冲区,下次再用时,再根据条件来判断就行了,可以一定程度减少申请、释放的次数。
------解决方案--------------------
如果你真的差这点效率的话可以建个内存池,自己管理内存。其实系统本身已经做过类似的处理了。