我正在帮助一家公司开发iOS项目,该项目正在使用Core Text。该应用的某些用户报告说,应用内偶尔会丢失文字。这似乎与内存有关,因为它可以通过关闭应用程序和后台应用程序来解决。
我制作了几行代码来模拟应用程序的使用 - 因此应用程序“自行运行”,随机浏览视图控制器,滚动文本字段等 - 以跟踪是否通过正常使用发生此问题。
我发现了一些与使用Core Text相关的内存泄漏,但根据仪器,内存丢失量非常低。但是,当模拟运行大约20分钟左右时,由于内存警告,应用程序将被操作系统关闭。
我打算修复这个内存泄漏,但我的问题是我无法确保修复主要错误(缺少文本),因为我自己无法重现它。
所以我的最后一个问题是:在使用Core Text时,是否有人遇到iOS上缺少文本的问题,这是由于内存泄漏造成的?听起来合理吗?如果是这样,这只与iOS的特定版本有关吗?
我感谢任何可以帮助我的答案!
答案 0 :(得分:1)
UIViewControllers可以实现当您的应用程序处于内存不足时系统调用的didReceiveMemoryWarning。作为核心文本的框架类很可能实现这一点并相应地采取行动以节省内存。因此,您的核心文本对象可能旨在帮助您的应用解决低内存情况,释放一些甚至可能导致其内容空白的资源。修复应用中的第一个所有内存泄漏。
另一方面,如果您无法重现错误,则很难纠正所有错误。如果您怀疑问题是由于内存不足造成的,请尝试通过在应用程序中分配大量内存来自己模拟,并希望您可以通过这种方式重现错误行为。