把你认为需要在执行完就释放内存的代码放到一个autorelease pool里面去试下。

解决方案 »

  1.   

    你可以这样:加一个标识符记录一下当前是否在播放动画,如果动画正在播放(已经被添加到你的layer上了),在播放期间就不要再重复播放了(或是把上一次的动画移除掉),在动画播放完后,把整个动画层移除
      

  2.   


    这个跟多线程木有关系
    你现在的做法相当于每点一次button,就创建了一个动画layer,然后添加到button上去,这样毫无必要,你就增加一个限制吧,比如动画layer最多5个,大于5个就将最早的重用掉,反正叠加5层动画后你最开始的动画也已经看不到了吧?
      

  3.   

    你可以把这个。m文件设置成非arc的,就可以手动释放了
      

  4.   


    这个跟多线程木有关系
    你现在的做法相当于每点一次button,就创建了一个动画layer,然后添加到button上去,这样毫无必要,你就增加一个限制吧,比如动画layer最多5个,大于5个就将最早的重用掉,反正叠加5层动画后你最开始的动画也已经看不到了吧?想法比较可靠     
      

  5.   

    逻辑调用关系,按下按钮,即可屏蔽按钮得enable, 执行方法结束后 再允许enable