有没有办法杀死后台应用程序?
我有一个正在开发的应用程序,它记录声音,然后在滚动视图上绘制出来 我对此的解决方法是监视可用内存量并预测绘图将占用多少内存使用量,并在内存不足之前停止记录。问题是我在后台运行的应用程序越多,它就越早停止录制,而不是像 ios 在 didRecieveMemoryWarning 之前那样杀死后台应用程序以腾出空间。重申我的问题,我怎样才能杀死这些后台应用程序?苹果会对此皱眉吗?
有没有办法杀死后台应用程序?
我有一个正在开发的应用程序,它记录声音,然后在滚动视图上绘制出来 我对此的解决方法是监视可用内存量并预测绘图将占用多少内存使用量,并在内存不足之前停止记录。问题是我在后台运行的应用程序越多,它就越早停止录制,而不是像 ios 在 didRecieveMemoryWarning 之前那样杀死后台应用程序以腾出空间。重申我的问题,我怎样才能杀死这些后台应用程序?苹果会对此皱眉吗?
您想从前台应用程序中以编程方式杀死其他后台应用程序吗?我怀疑苹果会对此皱眉头。
从理论上讲,您可以从 sysctl 获取他们的进程 ID 并向他们发送 SIGKILL 以终止它们,但 iOS不会让您获取有关其他进程的信息,除非您是 root(这意味着越狱)。
iOS 将在开始向您发送内存警告的同时开始终止未使用的后台应用程序。但是您根本不应该收到内存警告,而是尝试修复您的内存管理。
杀死后台应用程序并不能解决您的问题。即使所有其他应用程序都被杀死,您的应用程序仍然会在一段时间后崩溃。
考虑使用一个小缓冲区来存储这些数据并定期将它们写入存储。当用户需要回滚并读取较旧的记录时,从存储中读取它们。通过限制窗口大小,应用程序将只使用一定数量的内存。