我有一个奇怪的情况.我有一个相当记忆密集的过程(图像处理)运行,但我已经解决了所有的扭结,它运行99%的时间.
但是,如果我将应用程序置于非活动状态或后台状态,当返回并尝试运行相同的进程时,我会收到内存警告,然后应用程序崩溃.
我已经使用仪器来分析两个用例中的内存占用,并且内存占用量完全相同.但是,在我没有将应用程序放入后台(或不活动)的情况下,它不会给我任何内存错误并且完成正常.在它被放入后台(或不活动)的用例中,我得到了内存错误并且崩溃了.
有没有人有这方面的信息?我一直在搜索net/irc/stack over/apple docs试图解决这个问题.苹果(iOS)是否会减少从后台返回后我的应用程序允许运行的内存量?有什么方法可以防止这种情况吗?还是我忽略了一些其他更简单的解决方案?
(注意,没有内存泄漏)
我有一个为iOS8实现的共享扩展.该服务使用OAuth进行身份验证.我用于扩展程序的登录信息与容器应用程序共享.
问题是:
当我在扩展程序中,然后应用程序切换到容器应用程序并注销,然后应用程序切换回包含扩展程序的主机应用程序 - 如何检测到扩展程序刚刚重新出现?扩展程序依赖于容器应用程序和扩展程序之间的共享数据库中存在的某些信息,但是,当应用程序注销时,该数据将被删除.
我已经尝试注册各种"应用程序通知",例如UIApplicationDidBecomeActiveNotification.但是,正如预期的那样,这些不会被要求扩展.
如何检测扩展的状态何时发生变化,以便在重新出现时可以使我的扩展更加强大?