我创建了一个应用程序,它包含一个带播放按钮的屏幕来播放音频文件。运行应用程序10分钟后出现问题;它会在控制台中抛出此消息:
ImageIO:CGImageRead_mapData'open' 失败 “/用户/ indianic /库/应用程序 支持/ iPhone 模拟器/ 4.2 /应用/ A511E515-6FEA-4D0D-A5C5-95740B14C858 / VisualMath.app / pi_play.png” 错误= 24(打开的文件太多)
在这些消息之后,应用程序崩溃了。任何人都知道为什么会出现这个问题以及如何解决它?
提前致谢。
答案 0 :(得分:3)
由于我在同一个应用程序中使用数据库,因此我需要两次触发SQL查询。因为我有两次火灾查询数据库文件没有得到关闭,因此该文件在我的应用程序中打开了很多次。因此,应用程序崩溃并发出此错误。
因此,请务必检查数据库文件是否因此类错误而接近。
答案 1 :(得分:1)
我有一个非常类似的问题。对我而言,它与迭代次数(计数)而不是时间运行有关,我只是将问题跟踪到我使用stop方法。似乎stop方法在内存中留下了一些资源,释放不会(我猜测可能的简历)。即使你在停止后调用release,这就是我在audioPlayerDidFinishPlaying中所做的事情:成功:如果我事先使用了stop,那还不够。但是只用释放替换停止而没有别的东西让我的问题消失了。
答案 2 :(得分:0)
看起来你一直在为播放按钮加载导致异常的图像。如果是这种情况,请尝试加载一次,并在需要时更改按钮的图标。 如果您正在使用NSFileHandle完成后关闭文件,或使用[UIImage imageNamed:(NSString *)];