好吧,我想知道app'功能'当应用程序收到内存警告时。
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
DDLogVerbose(@"applicationDidReceiveMemoryWarning");
[self executeTasks];
}
是否可以建立蓝牙连接? ([central connectPeripheral:perihperal options:nil]
)
可以扫描蓝牙外围设备吗? (此时开始扫描)
可以执行哪些后台任务?
我的担忧:
我将establishConnections
代码放在此applicationDidReceiveMemoryWarning
处理程序中。此代码尝试通过已知的uid([central connectPeripheral:perihperal options:nil]
)建立与外围设备的连接。
我认为这个功能可能受到限制,应用程序将被拒绝。
UPD:
核心蓝牙长时间使用是对的吗?
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application; // try to clean up as much memory as possible. next step is to terminate app
因此,如果后台服务将被终止,我可以建立连接' didReceiveMemoryWarning
内的代码可防止连接失败。在该系统杀死服务并关注这些连接之后,当设备出现在附近时,该服务将从睡眠状态恢复我的服务'
答案 0 :(得分:3)
这里有几个问题。我只能回答第一个问题。
applicationDidReceiveMemoryWarning就是它的外观,仅此而已:来自操作系统的消息,即可用内存供不应求。你可以随心所欲地做任何事情,或者什么都不做。如果需要,您可以分配一百万个整数的数组。
但是当操作系统无法再根据需要为您的应用分配内存时,您的应用将被终止。在发生这种情况之前,内存警告只是一个很好的事情,理想情况下你可以采取一些措施来释放内存。