核心文本偶尔无法产生结果[iOS]



我正在帮助一家公司进行一个iOS项目,该项目使用Core Text。该应用程序的一些用户报告称,该应用程序中偶尔会丢失文本。看起来™这在一定程度上与内存有关,因为它可以通过关闭应用程序和后台应用程序来解决。

我制作了几行代码来模拟应用程序的使用——因此应用程序"自行运行",在视图控制器之间随机导航,在文本字段中滚动等——以跟踪正常使用是否出现此问题。

我发现了一些与核心文本的使用有关的内存泄漏,但根据仪器的数据,内存损失量相当低。然而,当模拟运行了大约20分钟左右时,操作系统会因为内存警告而关闭该应用程序。

我打算修复这个内存泄漏,但我的问题是,我无法确保这修复了主要的错误(缺少文本),因为我自己无法复制它。

所以我的最后一个问题是:有没有人在使用Core text时遇到过iOS上丢失文本的问题,这是由于内存泄露造成的?这听起来合理吗?如果是,这是否只与特定版本的iOS有关?

我很感激任何能帮助我的答案!

UIViewControllers可能会实现didReceiveMemoryWarning,当您的应用程序内存不足时,系统会调用该警告。作为核心文本的框架类很可能实现了这一点,并相应地采取行动以节省内存。因此,你的核心文本对象可能旨在帮助你的应用程序解决内存不足的问题,释放一些资源,甚至会导致它清空内容。首先修复应用程序中所有内存泄漏。

另一方面,如果你不能复制它们,那么所有的错误都很难纠正。如果您怀疑问题是由内存不足引起的,请尝试在应用程序中分配大量内存来模拟这一情况,并希望您能够以这种方式重现错误行为。

最新更新